Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.8

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