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(XALANSOURCETREEELEMENTA_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEELEMENTA_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanNamedNodeMap.hpp> 00026 00027 00028 00029 #include <xalanc/XalanSourceTree/XalanSourceTreeElement.hpp> 00030 00031 00032 00033 XALAN_CPP_NAMESPACE_BEGIN 00034 00035 00036 00037 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeElementA : public XalanSourceTreeElement, private XalanNamedNodeMap 00038 { 00039 public: 00040 00041 typedef unsigned long AttributesCountType; 00042 00055 XalanSourceTreeElementA( 00056 const XalanDOMString& theTagName, 00057 XalanSourceTreeDocument* theOwnerDocument, 00058 XalanSourceTreeAttr** theAttributes, 00059 AttributesCountType theAttributeCount, 00060 XalanNode* theParentNode = 0, 00061 XalanNode* thePreviousSibling = 0, 00062 XalanNode* theNextSibling = 0, 00063 IndexType theIndex = 0); 00064 00065 virtual 00066 ~XalanSourceTreeElementA(); 00067 00068 00069 virtual const XalanNamedNodeMap* 00070 getAttributes() const; 00071 00072 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00073 virtual XalanNode* 00074 #else 00075 virtual XalanSourceTreeElementA* 00076 #endif 00077 cloneNode(bool deep) const; 00078 00079 virtual const XalanDOMString& 00080 getNamespaceURI() const; 00081 00082 virtual const XalanDOMString& 00083 getPrefix() const; 00084 00085 virtual const XalanDOMString& 00086 getLocalName() const; 00087 00088 virtual const XalanDOMString& 00089 getAttribute(const XalanDOMString& name) const; 00090 00091 virtual XalanAttr* 00092 getAttributeNode(const XalanDOMString& name) const; 00093 00094 virtual const XalanDOMString& 00095 getAttributeNS( 00096 const XalanDOMString& namespaceURI, 00097 const XalanDOMString& localName) const; 00098 00099 virtual XalanAttr* 00100 getAttributeNodeNS( 00101 const XalanDOMString& namespaceURI, 00102 const XalanDOMString& localName) const; 00103 00104 00105 // public interfaces not inherited from XalanElement... 00106 00107 AttributesCountType 00108 getAttributeCount() const 00109 { 00110 return m_attributeCount; 00111 } 00112 00113 XalanSourceTreeAttr* 00114 getAttributeByIndex(AttributesCountType index) const 00115 { 00116 return index < m_attributeCount ? m_attributes[index] : 0; 00117 } 00118 00119 XalanSourceTreeElementA* 00120 clone(bool deep) const 00121 { 00122 return new XalanSourceTreeElementA(*this, deep); 00123 } 00124 00125 protected: 00126 00127 XalanSourceTreeElementA( 00128 const XalanSourceTreeElementA& theSource, 00129 bool deep = false); 00130 00131 private: 00132 00133 // These are from XalanNamedNodeMap... 00134 00135 virtual XalanNode* 00136 setNamedItem(XalanNode* arg); 00137 00138 virtual XalanNode* 00139 item(unsigned int index) const; 00140 00141 virtual XalanNode* 00142 getNamedItem(const XalanDOMString& name) const; 00143 00144 virtual unsigned int 00145 getLength() const; 00146 00147 virtual XalanNode* 00148 removeNamedItem(const XalanDOMString& name); 00149 00150 virtual XalanNode* 00151 getNamedItemNS( 00152 const XalanDOMString& namespaceURI, 00153 const XalanDOMString& localName) const; 00154 00155 virtual XalanNode* 00156 setNamedItemNS(XalanNode* arg); 00157 00158 virtual XalanNode* 00159 removeNamedItemNS( 00160 const XalanDOMString& namespaceURI, 00161 const XalanDOMString& localName); 00162 00163 00164 // Not implemented... 00165 XalanSourceTreeElementA& 00166 operator=(const XalanSourceTreeElementA& theSource); 00167 00168 bool 00169 operator==(const XalanSourceTreeElementA& theRHS) const; 00170 00171 00172 // Data members... 00173 XalanSourceTreeAttr* const * m_attributes; 00174 00175 const AttributesCountType m_attributeCount; 00176 }; 00177 00178 00179 00180 XALAN_CPP_NAMESPACE_END 00181 00182 00183 00184 #endif // !defined(XALANSOURCETREEELEMENTA_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.8 |
|