00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one 00003 * or more contributor license agreements. See the NOTICE file 00004 * distributed with this work for additional information 00005 * regarding copyright ownership. The ASF licenses this file 00006 * to you under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 #if !defined(XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680) 00019 #define XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680 00020 00021 00022 00023 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00024 00025 00026 00027 #include <xalanc/XalanDOM/XalanElement.hpp> 00028 #include <xalanc/XalanDOM/XalanNodeList.hpp> 00029 00030 00031 00032 #include <xalanc/PlatformSupport/DOMStringHelper.hpp> 00033 00034 00035 00036 #include <xalanc/XercesParserLiaison/XercesNamedNodeMapWrapper.hpp> 00037 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp> 00038 00039 00040 00041 XALAN_CPP_NAMESPACE_BEGIN 00042 00043 00044 00045 class XercesWrapperNavigator; 00046 00047 00048 00049 class XALAN_XERCESPARSERLIAISON_EXPORT XercesElementWrapper : public XalanElement, private XalanNodeList 00050 { 00051 public: 00052 00053 XercesElementWrapper( 00054 const DOMElementType* theXercesElement, 00055 const XercesWrapperNavigator& theNavigator); 00056 00057 virtual 00058 ~XercesElementWrapper(); 00059 00060 00061 // These interfaces are inherited from XalanElement... 00062 00063 virtual const XalanDOMString& 00064 getNodeName() const; 00065 00066 virtual const XalanDOMString& 00067 getNodeValue() const; 00068 00069 virtual NodeType 00070 getNodeType() const; 00071 00072 virtual XalanNode* 00073 getParentNode() const; 00074 00075 virtual const XalanNodeList* 00076 getChildNodes() const; 00077 00078 virtual XalanNode* 00079 getFirstChild() const; 00080 00081 virtual XalanNode* 00082 getLastChild() const; 00083 00084 virtual XalanNode* 00085 getPreviousSibling() const; 00086 00087 virtual XalanNode* 00088 getNextSibling() const; 00089 00090 virtual const XalanNamedNodeMap* 00091 getAttributes() const; 00092 00093 virtual XalanDocument* 00094 getOwnerDocument() const; 00095 00096 virtual const XalanDOMString& 00097 getNamespaceURI() const; 00098 00099 virtual const XalanDOMString& 00100 getPrefix() const; 00101 00102 virtual const XalanDOMString& 00103 getLocalName() const; 00104 00105 virtual bool 00106 isIndexed() const; 00107 00108 virtual IndexType 00109 getIndex() const; 00110 00111 virtual const XalanDOMString& 00112 getTagName() const; 00113 00114 /** 00115 * Get the Xerces node this instance represent. 00116 * 00117 * @return The Xerces node 00118 */ 00119 const DOMElementType* 00120 getXercesNode() const 00121 { 00122 return m_xercesNode; 00123 } 00124 00125 //@} 00126 00127 private: 00128 00129 // Implementation of XalanNodeList for children. 00130 virtual XalanNode* 00131 item(XalanSize_t index) const; 00132 00133 virtual XalanSize_t 00134 getLength() const; 00135 00136 00137 // Not implemented... 00138 XercesElementWrapper(const XercesElementWrapper& theSource); 00139 00140 XalanNode& 00141 operator=(const XalanNode& theSource); 00142 00143 bool 00144 operator==(const XercesElementWrapper& theRHS) const; 00145 00146 // Data members... 00147 const DOMElementType* const m_xercesNode; 00148 00149 const XercesWrapperNavigator& m_navigator; 00150 00151 XercesNamedNodeMapWrapper m_attributes; 00152 }; 00153 00154 00155 00156 XALAN_CPP_NAMESPACE_END 00157 00158 00159 00160 #endif // !defined(XERCESELEMENTWRAPPER_HEADER_GUARD_1357924680)
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
Xalan-C++ XSLT Processor Version 1.11 |
|