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

XercesElementWrapper.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(XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680) 00017 #define XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00022 00023 00024 00025 #include <map> 00026 00027 00028 00029 #include <xalanc/XalanDOM/XalanElement.hpp> 00030 #include <xalanc/XalanDOM/XalanNodeList.hpp> 00031 00032 00033 00034 #include <xalanc/PlatformSupport/DOMStringHelper.hpp> 00035 00036 00037 00038 #include <xalanc/XercesParserLiaison/XercesNamedNodeMapWrapper.hpp> 00039 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp> 00040 00041 00042 00043 XALAN_CPP_NAMESPACE_BEGIN 00044 00045 00046 00047 class XercesWrapperNavigator; 00048 00049 00050 00051 class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementWrapper : public XalanElement, private XalanNodeList 00052 { 00053 public: 00054 00055 XercesElementWrapper( 00056 const DOMElementType* theXercesElement, 00057 const XercesWrapperNavigator& theNavigator); 00058 00059 virtual 00060 ~XercesElementWrapper(); 00061 00062 00066 virtual const XalanDOMString& 00067 getNodeName() const; 00068 00072 virtual const XalanDOMString& 00073 getNodeValue() const; 00074 00078 virtual NodeType 00079 getNodeType() const; 00080 00090 virtual XalanNode* 00091 getParentNode() const; 00092 00106 virtual const XalanNodeList* 00107 getChildNodes() const; 00108 00114 virtual XalanNode* 00115 getFirstChild() const; 00116 00122 virtual XalanNode* 00123 getLastChild() const; 00124 00130 virtual XalanNode* 00131 getPreviousSibling() const; 00132 00138 virtual XalanNode* 00139 getNextSibling() const; 00140 00145 virtual const XalanNamedNodeMap* 00146 getAttributes() const; 00147 00157 virtual XalanDocument* 00158 getOwnerDocument() const; 00159 00161 00163 00182 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00183 virtual XalanNode* 00184 #else 00185 virtual XercesElementWrapper* 00186 #endif 00187 cloneNode(bool deep) const; 00188 00190 00192 00209 virtual XalanNode* 00210 insertBefore( 00211 XalanNode* newChild, 00212 XalanNode* refChild); 00213 00227 virtual XalanNode* 00228 replaceChild( 00229 XalanNode* newChild, 00230 XalanNode* oldChild); 00231 00239 virtual XalanNode* 00240 removeChild(XalanNode* oldChild); 00241 00253 virtual XalanNode* 00254 appendChild(XalanNode* newChild); 00255 00257 00259 00267 virtual bool 00268 hasChildNodes() const; 00269 00270 00272 00274 00275 00289 virtual void 00290 setNodeValue(const XalanDOMString& nodeValue); 00291 00293 00295 00312 virtual void 00313 normalize(); 00314 00328 virtual bool 00329 isSupported( 00330 const XalanDOMString& feature, 00331 const XalanDOMString& version) const; 00332 00346 virtual const XalanDOMString& 00347 getNamespaceURI() const; 00348 00353 virtual const XalanDOMString& 00354 getPrefix() const; 00355 00363 virtual const XalanDOMString& 00364 getLocalName() const; 00365 00395 virtual void 00396 setPrefix(const XalanDOMString& prefix); 00397 00398 virtual bool 00399 isIndexed() const; 00400 00401 virtual IndexType 00402 getIndex() const; 00403 00405 00406 // These interfaces are inherited from XalanElement... 00407 00416 virtual const XalanDOMString& 00417 getTagName() const; 00418 00426 virtual const XalanDOMString& 00427 getAttribute(const XalanDOMString& name) const; 00428 00436 virtual XalanAttr* 00437 getAttributeNode(const XalanDOMString& name) const; 00438 00449 virtual XalanNodeList* 00450 getElementsByTagName(const XalanDOMString& name) const; 00451 00453 00455 00477 virtual void 00478 setAttribute( 00479 const XalanDOMString& name, 00480 const XalanDOMString& value); 00481 00501 virtual XalanAttr* 00502 setAttributeNode(XalanAttr* newAttr); 00503 00505 00507 00523 virtual XalanAttr* 00524 removeAttributeNode(XalanAttr* oldAttr); 00525 00538 virtual void 00539 removeAttribute(const XalanDOMString& name); 00540 00542 00544 00555 virtual const XalanDOMString& 00556 getAttributeNS( 00557 const XalanDOMString& namespaceURI, 00558 const XalanDOMString& localName) const; 00559 00600 virtual void 00601 setAttributeNS( 00602 const XalanDOMString& namespaceURI, 00603 const XalanDOMString& qualifiedName, 00604 const XalanDOMString& value); 00605 00620 virtual void 00621 removeAttributeNS( 00622 const XalanDOMString& namespaceURI, 00623 const XalanDOMString& localName); 00624 00635 virtual XalanAttr* 00636 getAttributeNodeNS( 00637 const XalanDOMString& namespaceURI, 00638 const XalanDOMString& localName) const; 00639 00659 virtual XalanAttr* 00660 setAttributeNodeNS(XalanAttr* newAttr); 00661 00677 virtual XalanNodeList* 00678 getElementsByTagNameNS( 00679 const XalanDOMString& namespaceURI, 00680 const XalanDOMString& localName) const; 00681 00687 const DOMElementType* 00688 getXercesNode() const 00689 { 00690 return m_xercesNode; 00691 } 00692 00694 00695 private: 00696 00697 // Implementation of XalanNodeList for children. 00698 virtual XalanNode* 00699 item(unsigned int index) const; 00700 00701 virtual unsigned int 00702 getLength() const; 00703 00704 00705 // Not implemented... 00706 XercesElementWrapper(const XercesElementWrapper& theSource); 00707 00708 XalanNode& 00709 operator=(const XalanNode& theSource); 00710 00711 bool 00712 operator==(const XercesElementWrapper& theRHS) const; 00713 00714 // Data members... 00715 const DOMElementType* const m_xercesNode; 00716 00717 const XercesWrapperNavigator& m_navigator; 00718 00719 XercesNamedNodeMapWrapper m_attributes; 00720 }; 00721 00722 00723 00724 XALAN_CPP_NAMESPACE_END 00725 00726 00727 00728 #endif // !defined(XERCESELEMENTWRAPPER_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.