## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.9

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# XercesEntityBridge.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Copyright 1999-2004 The Apache Software Foundation.
    00003  *
    00004  * Licensed under the Apache License, Version 2.0 (the "License");
    00005  * you may not use this file except in compliance with the License.
    00006  * You may obtain a copy of the License at
    00007  *
    00008  *     http://www.apache.org/licenses/LICENSE-2.0
    00009  *
    00010  * Unless required by applicable law or agreed to in writing, software
    00011  * distributed under the License is distributed on an "AS IS" BASIS,
    00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00013  * See the License for the specific language governing permissions and
    00014  * limitations under the License.
    00015  */
    00016 #if !defined(XERCESENTITYBRIDGE_HEADER_GUARD_1357924680)
    00017 #define XERCESENTITYBRIDGE_HEADER_GUARD_1357924680
    00018
    00019
    00020
    00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
    00022
    00023
    00024
    00025 #if XERCES_VERSION_MAJOR >= 2
    00026 #include <xercesc/dom/deprecated/DOM_Entity.hpp>
    00027 #else
    00028 #include <xercesc/dom/DOM_Entity.hpp>
    00029 #endif
    00030
    00031
    00032
    00033 #include <xalanc/XalanDOM/XalanEntity.hpp>
    00034
    00035
    00036
    00037 #include <xalanc/XercesParserLiaison/Deprecated/XercesNodeListBridge.hpp>
    00038
    00039
    00040
    00041 XALAN_CPP_NAMESPACE_BEGIN
    00042
    00043
    00044
    00045 class XercesBridgeNavigator;
    00046
    00047
    00053 class XALAN_XERCESPARSERLIAISON_EXPORT XercesEntityBridge : public XalanEntity
    00054 {
    00055 public:
    00056
    00057     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Entity           DOM_EntityType;
    00058
    00059     XercesEntityBridge(
    00060             const DOM_EntityType&           theXercesDOMEntity,
    00061             const XercesBridgeNavigator&    theNavigator);
    00062
    00063     virtual
    00064     ~XercesEntityBridge();
    00065
    00066
    00067     // These interfaces are inherited from XalanNode...
    00068
    00069     virtual const XalanDOMString&
    00070     getNodeName() const;
    00071
    00075     virtual const XalanDOMString&
    00076     getNodeValue() const;
    00077
    00081     virtual NodeType
    00082     getNodeType() const;
    00083
    00093     virtual XalanNode*
    00094     getParentNode() const;
    00095
    00109     virtual const XalanNodeList*
    00110     getChildNodes() const;
    00111
    00117     virtual XalanNode*
    00118     getFirstChild() const;
    00119
    00125     virtual XalanNode*
    00126     getLastChild() const;
    00127
    00133     virtual XalanNode*
    00134     getPreviousSibling() const;
    00135
    00141     virtual XalanNode*
    00142     getNextSibling() const;
    00143
    00148     virtual const XalanNamedNodeMap*
    00149     getAttributes() const;
    00150
    00160     virtual XalanDocument*
    00161     getOwnerDocument() const;
    00162
    00164
    00166
    00185 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
    00186     virtual XalanNode*
    00187 #else
    00188     virtual XercesEntityBridge*
    00189 #endif
    00190     cloneNode(bool deep) const;
    00191
    00193
    00195
    00212     virtual XalanNode*
    00213     insertBefore(
    00214             XalanNode*  newChild,
    00215             XalanNode*  refChild);
    00216
    00230     virtual XalanNode*
    00231     replaceChild(
    00232             XalanNode*  newChild,
    00233             XalanNode*  oldChild);
    00234
    00242     virtual XalanNode*
    00243     removeChild(XalanNode*  oldChild);
    00244
    00256     virtual XalanNode*
    00257     appendChild(XalanNode*  newChild);
    00258
    00260
    00262
    00270     virtual bool
    00271     hasChildNodes() const;
    00272
    00273
    00275
    00277
    00278
    00292     virtual void
    00293     setNodeValue(const XalanDOMString&      nodeValue);
    00294
    00296
    00298
    00315     virtual void
    00316     normalize();
    00317
    00331     virtual bool
    00332     isSupported(
    00333             const XalanDOMString&   feature,
    00334             const XalanDOMString&   version) const;
    00335
    00349     virtual const XalanDOMString&
    00350     getNamespaceURI() const;
    00351
    00356     virtual const XalanDOMString&
    00357     getPrefix() const;
    00358
    00366     virtual const XalanDOMString&
    00367     getLocalName() const;
    00368
    00398     virtual void
    00399     setPrefix(const XalanDOMString& prefix);
    00400
    00401     virtual bool
    00402     isIndexed() const;
    00403
    00404     virtual IndexType
    00405     getIndex() const;
    00406
    00408
    00409     // These interfaces are inherited from XalanEntity...
    00410
    00418     virtual const XalanDOMString&
    00419     getPublicId() const;
    00420
    00428     virtual const XalanDOMString&
    00429     getSystemId() const;
    00430
    00436     virtual const XalanDOMString&
    00437     getNotationName() const;
    00438
    00444     DOM_EntityType
    00445     getXercesNode() const
    00446     {
    00447         return m_xercesNode;
    00448     }
    00449
    00450 private:
    00451
    00452     // Not implemented...
    00453     XercesEntityBridge(const XercesEntityBridge&    theSource);
    00454
    00455     XercesEntityBridge&
    00456     operator=(const XercesEntityBridge&     theSource);
    00457
    00458     bool
    00459     operator==(const XercesEntityBridge&        theRHS) const;
    00460
    00461     // Data members...
    00462     // $$$ Note that there is an order dependency here,
    00463     // due do a code generation bug with MSVC 6.0.  The
    00464     // call to construct the XercesNodeListBridge uses
    00465     // the m_xercesNode data member instead of the
    00466     // constructor parameter.  I have no idea why MSVC
    00467     // generate bogus code when using the parameter, but
    00468     // it does...
    00469     DOM_EntityType                  m_xercesNode;
    00470
    00471     const XercesBridgeNavigator&    m_navigator;
    00472
    00473     XercesNodeListBridge            m_children;
    00474 };
    00475
    00476
    00477
    00478 XALAN_CPP_NAMESPACE_END
    00479
    00480
    00481
    00482 #endif  // !defined(XERCESENTITYBRIDGE_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

Xalan-C++ XSLT Processor Version 1.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.