## 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

# XercesElementBridge.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(XERCESELEMENTBRIDGE_HEADER_GUARD_1357924680)
    00017 #define XERCESELEMENTBRIDGE_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_Element.hpp>
    00027 #else
    00028 #include <xercesc/dom/DOM_Element.hpp>
    00029 #endif
    00030
    00031
    00032
    00033 #include <xalanc/XalanDOM/XalanElement.hpp>
    00034
    00035
    00036
    00037 #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
    00038
    00039
    00040
    00041 #include <xalanc/XercesParserLiaison/Deprecated/XercesDOM_NodeHack.hpp>
    00042 #include <xalanc/XercesParserLiaison/Deprecated/XercesNamedNodeMapBridge.hpp>
    00043 #include <xalanc/XercesParserLiaison/Deprecated/XercesNodeListBridge.hpp>
    00044
    00045
    00046
    00047 XALAN_CPP_NAMESPACE_BEGIN
    00048
    00049
    00050
    00051 class XercesBridgeNavigator;
    00052
    00053
    00059 class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementBridge : public XalanElement
    00060 {
    00061 public:
    00062
    00063     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element  DOM_ElementType;
    00064
    00065     XercesElementBridge(
    00066             const DOM_ElementType&          theXercesElement,
    00067             const XercesBridgeNavigator&    theNavigator);
    00068
    00069     virtual
    00070     ~XercesElementBridge();
    00071
    00072
    00076     virtual const XalanDOMString&
    00077     getNodeName() const;
    00078
    00082     virtual const XalanDOMString&
    00083     getNodeValue() const;
    00084
    00088     virtual NodeType
    00089     getNodeType() const;
    00090
    00100     virtual XalanNode*
    00101     getParentNode() const;
    00102
    00116     virtual const XalanNodeList*
    00117     getChildNodes() const;
    00118
    00124     virtual XalanNode*
    00125     getFirstChild() const;
    00126
    00132     virtual XalanNode*
    00133     getLastChild() const;
    00134
    00140     virtual XalanNode*
    00141     getPreviousSibling() const;
    00142
    00148     virtual XalanNode*
    00149     getNextSibling() const;
    00150
    00155     virtual const XalanNamedNodeMap*
    00156     getAttributes() const;
    00157
    00167     virtual XalanDocument*
    00168     getOwnerDocument() const;
    00169
    00171
    00173
    00192 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
    00193     virtual XalanNode*
    00194 #else
    00195     virtual XercesElementBridge*
    00196 #endif
    00197     cloneNode(bool deep) const;
    00198
    00200
    00202
    00219     virtual XalanNode*
    00220     insertBefore(
    00221             XalanNode*  newChild,
    00222             XalanNode*  refChild);
    00223
    00237     virtual XalanNode*
    00238     replaceChild(
    00239             XalanNode*  newChild,
    00240             XalanNode*  oldChild);
    00241
    00249     virtual XalanNode*
    00250     removeChild(XalanNode*  oldChild);
    00251
    00263     virtual XalanNode*
    00264     appendChild(XalanNode*  newChild);
    00265
    00267
    00269
    00277     virtual bool
    00278     hasChildNodes() const;
    00279
    00280
    00282
    00284
    00285
    00299     virtual void
    00300     setNodeValue(const XalanDOMString&      nodeValue);
    00301
    00303
    00305
    00322     virtual void
    00323     normalize();
    00324
    00338     virtual bool
    00339     isSupported(
    00340             const XalanDOMString&   feature,
    00341             const XalanDOMString&   version) const;
    00342
    00356     virtual const XalanDOMString&
    00357     getNamespaceURI() const;
    00358
    00363     virtual const XalanDOMString&
    00364     getPrefix() const;
    00365
    00373     virtual const XalanDOMString&
    00374     getLocalName() const;
    00375
    00405     virtual void
    00406     setPrefix(const XalanDOMString& prefix);
    00407
    00408     virtual bool
    00409     isIndexed() const;
    00410
    00411     virtual IndexType
    00412     getIndex() const;
    00413
    00415
    00416     // These interfaces are inherited from XalanElement...
    00417
    00426     virtual const XalanDOMString&
    00427     getTagName() const;
    00428
    00436     virtual const XalanDOMString&
    00437     getAttribute(const XalanDOMString&      name) const;
    00438
    00446     virtual XalanAttr*
    00447     getAttributeNode(const XalanDOMString&      name) const;
    00448
    00459     virtual XalanNodeList*
    00460     getElementsByTagName(const XalanDOMString&      name) const;
    00461
    00463
    00465
    00487     virtual void
    00488     setAttribute(
    00489             const XalanDOMString&   name,
    00490             const XalanDOMString&   value);
    00491
    00511     virtual XalanAttr*
    00512     setAttributeNode(XalanAttr*     newAttr);
    00513
    00515
    00517
    00533     virtual XalanAttr*
    00534     removeAttributeNode(XalanAttr*  oldAttr);
    00535
    00548     virtual void
    00549     removeAttribute(const XalanDOMString&   name);
    00550
    00552
    00554
    00565     virtual const XalanDOMString&
    00566     getAttributeNS(
    00567             const XalanDOMString&   namespaceURI,
    00568             const XalanDOMString&   localName) const;
    00569
    00610     virtual void
    00611     setAttributeNS(
    00612             const XalanDOMString&   namespaceURI,
    00613             const XalanDOMString&   qualifiedName,
    00614             const XalanDOMString&   value);
    00615
    00630     virtual void
    00631     removeAttributeNS(
    00632             const XalanDOMString&   namespaceURI,
    00633             const XalanDOMString&   localName);
    00634
    00645     virtual XalanAttr*
    00646     getAttributeNodeNS(
    00647             const XalanDOMString&   namespaceURI,
    00648             const XalanDOMString&   localName) const;
    00649
    00669     virtual XalanAttr*
    00670     setAttributeNodeNS(XalanAttr*   newAttr);
    00671
    00687     virtual XalanNodeList*
    00688     getElementsByTagNameNS(
    00689             const XalanDOMString&   namespaceURI,
    00690             const XalanDOMString&   localName) const;
    00691
    00697     DOM_ElementType
    00698     getXercesNode() const
    00699     {
    00700         return m_xercesNode;
    00701     }
    00702
    00704
    00705 private:
    00706
    00707     // Not implemented...
    00708     XercesElementBridge(const XercesElementBridge&  theSource);
    00709
    00710     XalanNode&
    00711     operator=(const XalanNode&  theSource);
    00712
    00713     bool
    00714     operator==(const XercesElementBridge&   theRHS) const;
    00715
    00716     // Data members...
    00717     XercesDOM_ElementHack               m_xercesNode;
    00718
    00719     const XercesBridgeNavigator&        m_navigator;
    00720
    00721     XercesNodeListBridge                m_children;
    00722
    00723     XercesNamedNodeMapBridge            m_attributes;
    00724 };
    00725
    00726
    00727
    00728 XALAN_CPP_NAMESPACE_END
    00729
    00730
    00731
    00732 #endif  // !defined(XERCESELEMENTBRIDGE_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.