Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | 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 #include <map>
00026 
00027 
00028 
00029 #if XERCES_VERSION_MAJOR >= 2
00030 #include <xercesc/dom/deprecated/DOM_Element.hpp>
00031 #else
00032 #include <xercesc/dom/DOM_Element.hpp>
00033 #endif
00034 
00035 
00036 
00037 #include <xalanc/XalanDOM/XalanElement.hpp>
00038 
00039 
00040 
00041 #include <xalanc/PlatformSupport/DOMStringHelper.hpp>
00042 
00043 
00044 
00045 #include <xalanc/XercesParserLiaison/Deprecated/XercesDOM_NodeHack.hpp>
00046 #include <xalanc/XercesParserLiaison/Deprecated/XercesNamedNodeMapBridge.hpp>
00047 #include <xalanc/XercesParserLiaison/Deprecated/XercesNodeListBridge.hpp>
00048 
00049 
00050 
00051 XALAN_CPP_NAMESPACE_BEGIN
00052 
00053 
00054 
00055 class XercesBridgeNavigator;
00056 
00057 
00063 class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementBridge : public XalanElement
00064 {
00065 public:
00066 
00067     typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element  DOM_ElementType;
00068 
00069     XercesElementBridge(
00070             const DOM_ElementType&          theXercesElement,
00071             const XercesBridgeNavigator&    theNavigator);
00072 
00073     virtual
00074     ~XercesElementBridge();
00075 
00076 
00080     virtual const XalanDOMString&
00081     getNodeName() const;
00082 
00086     virtual const XalanDOMString&
00087     getNodeValue() const;
00088 
00092     virtual NodeType
00093     getNodeType() const;
00094 
00104     virtual XalanNode*
00105     getParentNode() const;
00106 
00120     virtual const XalanNodeList*
00121     getChildNodes() const;
00122 
00128     virtual XalanNode*
00129     getFirstChild() const;
00130 
00136     virtual XalanNode*
00137     getLastChild() const;
00138 
00144     virtual XalanNode*
00145     getPreviousSibling() const;
00146 
00152     virtual XalanNode*
00153     getNextSibling() const;
00154 
00159     virtual const XalanNamedNodeMap*
00160     getAttributes() const;
00161 
00171     virtual XalanDocument*
00172     getOwnerDocument() const;
00173 
00175 
00177 
00196 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
00197     virtual XalanNode*
00198 #else
00199     virtual XercesElementBridge*
00200 #endif
00201     cloneNode(bool deep) const;
00202 
00204 
00206 
00223     virtual XalanNode*
00224     insertBefore(
00225             XalanNode*  newChild,
00226             XalanNode*  refChild);
00227 
00241     virtual XalanNode*
00242     replaceChild(
00243             XalanNode*  newChild,
00244             XalanNode*  oldChild);
00245 
00253     virtual XalanNode*
00254     removeChild(XalanNode*  oldChild);
00255 
00267     virtual XalanNode*
00268     appendChild(XalanNode*  newChild);
00269 
00271 
00273 
00281     virtual bool
00282     hasChildNodes() const;
00283 
00284 
00286 
00288 
00289 
00303     virtual void
00304     setNodeValue(const XalanDOMString&      nodeValue);
00305 
00307 
00309 
00326     virtual void
00327     normalize();
00328 
00342     virtual bool
00343     isSupported(
00344             const XalanDOMString&   feature,
00345             const XalanDOMString&   version) const;
00346 
00360     virtual const XalanDOMString&
00361     getNamespaceURI() const;
00362 
00367     virtual const XalanDOMString&
00368     getPrefix() const;
00369 
00377     virtual const XalanDOMString&
00378     getLocalName() const;
00379 
00409     virtual void
00410     setPrefix(const XalanDOMString& prefix);
00411 
00412     virtual bool
00413     isIndexed() const;
00414 
00415     virtual IndexType
00416     getIndex() const;
00417 
00419 
00420     // These interfaces are inherited from XalanElement...
00421 
00430     virtual const XalanDOMString&
00431     getTagName() const;
00432 
00440     virtual const XalanDOMString&
00441     getAttribute(const XalanDOMString&      name) const;
00442 
00450     virtual XalanAttr*
00451     getAttributeNode(const XalanDOMString&      name) const;
00452 
00463     virtual XalanNodeList*
00464     getElementsByTagName(const XalanDOMString&      name) const;
00465 
00467 
00469 
00491     virtual void
00492     setAttribute(
00493             const XalanDOMString&   name, 
00494             const XalanDOMString&   value);
00495 
00515     virtual XalanAttr*
00516     setAttributeNode(XalanAttr*     newAttr);
00517 
00519 
00521     
00537     virtual XalanAttr*
00538     removeAttributeNode(XalanAttr*  oldAttr);
00539 
00552     virtual void
00553     removeAttribute(const XalanDOMString&   name);
00554 
00556 
00558 
00569     virtual const XalanDOMString&
00570     getAttributeNS(
00571             const XalanDOMString&   namespaceURI,
00572             const XalanDOMString&   localName) const;
00573 
00614     virtual void
00615     setAttributeNS(
00616             const XalanDOMString&   namespaceURI,
00617             const XalanDOMString&   qualifiedName,
00618             const XalanDOMString&   value);
00619 
00634     virtual void
00635     removeAttributeNS(
00636             const XalanDOMString&   namespaceURI,
00637             const XalanDOMString&   localName);
00638 
00649     virtual XalanAttr*
00650     getAttributeNodeNS(
00651             const XalanDOMString&   namespaceURI,
00652             const XalanDOMString&   localName) const;
00653 
00673     virtual XalanAttr*
00674     setAttributeNodeNS(XalanAttr*   newAttr);
00675 
00691     virtual XalanNodeList*
00692     getElementsByTagNameNS(
00693             const XalanDOMString&   namespaceURI,
00694             const XalanDOMString&   localName) const;
00695 
00701     DOM_ElementType
00702     getXercesNode() const
00703     {
00704         return m_xercesNode;
00705     }
00706 
00708 
00709 private:
00710 
00711     // Not implemented...
00712     XercesElementBridge(const XercesElementBridge&  theSource);
00713 
00714     XalanNode&
00715     operator=(const XalanNode&  theSource);
00716 
00717     bool
00718     operator==(const XercesElementBridge&   theRHS) const;
00719 
00720     // Data members...
00721     XercesDOM_ElementHack               m_xercesNode;
00722 
00723     const XercesBridgeNavigator&        m_navigator;
00724 
00725     XercesNodeListBridge                m_children;
00726 
00727     XercesNamedNodeMapBridge            m_attributes;
00728 };
00729 
00730 
00731 
00732 XALAN_CPP_NAMESPACE_END
00733 
00734 
00735 
00736 #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.8
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.