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(XALANELEMENT_HEADER_GUARD_1357924680) 00017 #define XALANELEMENT_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanDOM/XalanDOMDefinitions.hpp> 00022 #include <xalanc/XalanDOM/XalanNode.hpp> 00023 00024 00025 00026 XALAN_CPP_NAMESPACE_BEGIN 00027 00028 00029 00030 class XalanAttr; 00031 00032 00033 00034 /* 00035 * <meta name="usage" content="experimental"/> 00036 * 00037 * Base class for the DOM Element interface. 00038 * 00039 * This class is experimental and subject to change!! 00040 */ 00041 00042 class XALAN_DOM_EXPORT XalanElement : public XalanNode 00043 { 00044 public: 00045 00046 XalanElement(); 00047 00048 virtual 00049 ~XalanElement(); 00050 00051 // These interfaces are inherited from XalanNode 00052 virtual const XalanDOMString& 00053 getNodeName() const = 0; 00054 00058 virtual const XalanDOMString& 00059 getNodeValue() const = 0; 00060 00064 virtual NodeType 00065 getNodeType() const = 0; 00066 00076 virtual XalanNode* 00077 getParentNode() const = 0; 00078 00092 virtual const XalanNodeList* 00093 getChildNodes() const = 0; 00094 00100 virtual XalanNode* 00101 getFirstChild() const = 0; 00102 00108 virtual XalanNode* 00109 getLastChild() const = 0; 00110 00116 virtual XalanNode* 00117 getPreviousSibling() const = 0; 00118 00124 virtual XalanNode* 00125 getNextSibling() const = 0; 00126 00131 virtual const XalanNamedNodeMap* 00132 getAttributes() const = 0; 00133 00143 virtual XalanDocument* 00144 getOwnerDocument() const = 0; 00145 00147 00149 00168 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00169 virtual XalanNode* 00170 #else 00171 virtual XalanElement* 00172 #endif 00173 cloneNode(bool deep) const = 0; 00174 00176 00178 00195 virtual XalanNode* 00196 insertBefore( 00197 XalanNode* newChild, 00198 XalanNode* refChild) = 0; 00199 00213 virtual XalanNode* 00214 replaceChild( 00215 XalanNode* newChild, 00216 XalanNode* oldChild) = 0; 00217 00225 virtual XalanNode* 00226 removeChild(XalanNode* oldChild) = 0; 00227 00239 virtual XalanNode* 00240 appendChild(XalanNode* newChild) = 0; 00241 00243 00245 00253 virtual bool 00254 hasChildNodes() const = 0; 00255 00256 00258 00260 00261 00275 virtual void 00276 setNodeValue(const XalanDOMString& nodeValue) = 0; 00277 00279 00281 00298 virtual void 00299 normalize() = 0; 00300 00314 virtual bool 00315 isSupported( 00316 const XalanDOMString& feature, 00317 const XalanDOMString& version) const = 0; 00318 00332 virtual const XalanDOMString& 00333 getNamespaceURI() const = 0; 00334 00339 virtual const XalanDOMString& 00340 getPrefix() const = 0; 00341 00349 virtual const XalanDOMString& 00350 getLocalName() const = 0; 00351 00381 virtual void 00382 setPrefix(const XalanDOMString& prefix) = 0; 00383 00389 virtual bool 00390 isIndexed() const = 0; 00391 00398 virtual IndexType 00399 getIndex() const = 0; 00400 00402 00403 // These interfaces are new to XalanElement... 00412 virtual const XalanDOMString& 00413 getTagName() const = 0; 00414 00422 virtual const XalanDOMString& 00423 getAttribute(const XalanDOMString& name) const = 0; 00424 00432 virtual XalanAttr* 00433 getAttributeNode(const XalanDOMString& name) const = 0; 00434 00445 virtual XalanNodeList* 00446 getElementsByTagName(const XalanDOMString& name) const = 0; 00447 00449 00451 00473 virtual void 00474 setAttribute( 00475 const XalanDOMString& name, 00476 const XalanDOMString& value) = 0; 00477 00497 virtual XalanAttr* 00498 setAttributeNode(XalanAttr* newAttr) = 0; 00499 00501 00503 00519 virtual XalanAttr* 00520 removeAttributeNode(XalanAttr* oldAttr) = 0; 00521 00534 virtual void 00535 removeAttribute(const XalanDOMString& name) = 0; 00536 00538 00540 00551 virtual const XalanDOMString& 00552 getAttributeNS( 00553 const XalanDOMString& namespaceURI, 00554 const XalanDOMString& localName) const = 0; 00555 00596 virtual void 00597 setAttributeNS( 00598 const XalanDOMString& namespaceURI, 00599 const XalanDOMString& qualifiedName, 00600 const XalanDOMString& value) = 0; 00601 00616 virtual void 00617 removeAttributeNS( 00618 const XalanDOMString& namespaceURI, 00619 const XalanDOMString& localName) = 0; 00620 00631 virtual XalanAttr* 00632 getAttributeNodeNS( 00633 const XalanDOMString& namespaceURI, 00634 const XalanDOMString& localName) const = 0; 00635 00655 virtual XalanAttr* 00656 setAttributeNodeNS(XalanAttr* newAttr) = 0; 00657 00673 virtual XalanNodeList* 00674 getElementsByTagNameNS( 00675 const XalanDOMString& namespaceURI, 00676 const XalanDOMString& localName) const = 0; 00677 00679 00680 protected: 00681 00682 XalanElement(const XalanElement& theSource); 00683 00684 XalanElement& 00685 operator=(const XalanElement& theSource); 00686 00687 bool 00688 operator==(const XalanElement& theRHS) const; 00689 00690 private: 00691 }; 00692 00693 00694 00695 XALAN_CPP_NAMESPACE_END 00696 00697 00698 00699 #endif // !defined(XALANELEMENT_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 |
|