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(XALANNODE_HEADER_GUARD_1357924680) 00017 #define XALANNODE_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp> 00022 00023 00024 00025 XALAN_CPP_NAMESPACE_BEGIN 00026 00027 00028 00029 class XalanDOMString; 00030 class XalanDocument; 00031 class XalanNamedNodeMap; 00032 class XalanNodeList; 00033 00034 00035 00036 /* 00037 * <meta name="usage" content="experimental"/> 00038 * 00039 * Base class for the DOM Node interface. 00040 * 00041 * This class is experimental and subject to change!! 00042 */ 00043 00044 class XALAN_DOM_EXPORT XalanNode 00045 { 00046 public: 00047 00048 XalanNode(); 00049 00050 virtual 00051 ~XalanNode(); 00052 00053 enum NodeType 00054 { 00055 UNKNOWN_NODE = 0, 00056 ELEMENT_NODE = 1, 00057 ATTRIBUTE_NODE = 2, 00058 TEXT_NODE = 3, 00059 CDATA_SECTION_NODE = 4, 00060 ENTITY_REFERENCE_NODE = 5, 00061 ENTITY_NODE = 6, 00062 PROCESSING_INSTRUCTION_NODE = 7, 00063 COMMENT_NODE = 8, 00064 DOCUMENT_NODE = 9, 00065 DOCUMENT_TYPE_NODE = 10, 00066 DOCUMENT_FRAGMENT_NODE = 11, 00067 NOTATION_NODE = 12 00068 }; 00069 00070 typedef unsigned long IndexType; 00071 00072 virtual const XalanDOMString& 00073 getNodeName() const = 0; 00074 00078 virtual const XalanDOMString& 00079 getNodeValue() const = 0; 00080 00084 virtual NodeType 00085 getNodeType() const = 0; 00086 00096 virtual XalanNode* 00097 getParentNode() const = 0; 00098 00112 virtual const XalanNodeList* 00113 getChildNodes() const = 0; 00114 00120 virtual XalanNode* 00121 getFirstChild() const = 0; 00122 00128 virtual XalanNode* 00129 getLastChild() const = 0; 00130 00136 virtual XalanNode* 00137 getPreviousSibling() const = 0; 00138 00144 virtual XalanNode* 00145 getNextSibling() const = 0; 00146 00151 virtual const XalanNamedNodeMap* 00152 getAttributes() const = 0; 00153 00163 virtual XalanDocument* 00164 getOwnerDocument() const = 0; 00165 00167 00169 00188 virtual XalanNode* 00189 cloneNode(bool deep) const = 0; 00190 00192 00194 00211 virtual XalanNode* 00212 insertBefore( 00213 XalanNode* newChild, 00214 XalanNode* refChild) = 0; 00215 00229 virtual XalanNode* 00230 replaceChild( 00231 XalanNode* newChild, 00232 XalanNode* oldChild) = 0; 00233 00241 virtual XalanNode* 00242 removeChild(XalanNode* oldChild) = 0; 00243 00255 virtual XalanNode* 00256 appendChild(XalanNode* newChild) = 0; 00257 00259 00261 00269 virtual bool 00270 hasChildNodes() const = 0; 00271 00272 00274 00276 00277 00291 virtual void 00292 setNodeValue(const XalanDOMString& nodeValue) = 0; 00293 00295 00297 00314 virtual void 00315 normalize() = 0; 00316 00330 virtual bool 00331 isSupported( 00332 const XalanDOMString& feature, 00333 const XalanDOMString& version) const = 0; 00334 00348 virtual const XalanDOMString& 00349 getNamespaceURI() const = 0; 00350 00355 virtual const XalanDOMString& 00356 getPrefix() const = 0; 00357 00365 virtual const XalanDOMString& 00366 getLocalName() const = 0; 00367 00397 virtual void 00398 setPrefix(const XalanDOMString& prefix) = 0; 00399 00405 virtual bool 00406 isIndexed() const = 0; 00407 00414 virtual IndexType 00415 getIndex() const = 0; 00416 00418 00419 protected: 00420 00421 XalanNode(const XalanNode& theSource); 00422 00423 XalanNode& 00424 operator=(const XalanNode& theSource); 00425 00426 bool 00427 operator==(const XalanNode& theRHS) const; 00428 00429 private: 00430 00431 #if !defined(NDEBUG) 00432 static size_t s_instanceCount; 00433 #endif 00434 }; 00435 00436 00437 00438 XALAN_CPP_NAMESPACE_END 00439 00440 00441 00442 #endif // !defined(XALANNODE_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.10 |
|