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(XALANDOCUMENT_HEADER_GUARD_1357924680) 00017 #define XALANDOCUMENT_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 class XalanCDATASection; 00032 class XalanComment; 00033 class XalanDocumentFragment; 00034 class XalanDocumentType; 00035 class XalanDOMImplementation; 00036 class XalanElement; 00037 class XalanEntityReference; 00038 class XalanProcessingInstruction; 00039 class XalanText; 00040 00041 00042 00043 /* 00044 * <meta name="usage" content="experimental"/> 00045 * 00046 * Base class for the DOM Document interface. 00047 * 00048 * This class is experimental and subject to change!! 00049 */ 00050 00051 class XALAN_DOM_EXPORT XalanDocument : public XalanNode 00052 { 00053 public: 00054 00055 XalanDocument(); 00056 00057 virtual 00058 ~XalanDocument(); 00059 00060 // These interfaces are inherited from XalanNode... 00061 00062 virtual const XalanDOMString& 00063 getNodeName() const = 0; 00064 00068 virtual const XalanDOMString& 00069 getNodeValue() const = 0; 00070 00074 virtual NodeType 00075 getNodeType() const = 0; 00076 00086 virtual XalanNode* 00087 getParentNode() const = 0; 00088 00102 virtual const XalanNodeList* 00103 getChildNodes() const = 0; 00104 00110 virtual XalanNode* 00111 getFirstChild() const = 0; 00112 00118 virtual XalanNode* 00119 getLastChild() const = 0; 00120 00126 virtual XalanNode* 00127 getPreviousSibling() const = 0; 00128 00134 virtual XalanNode* 00135 getNextSibling() const = 0; 00136 00141 virtual const XalanNamedNodeMap* 00142 getAttributes() const = 0; 00143 00153 virtual XalanDocument* 00154 getOwnerDocument() const = 0; 00155 00157 00159 00178 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00179 virtual XalanNode* 00180 #else 00181 virtual XalanDocument* 00182 #endif 00183 cloneNode(bool deep) const = 0; 00184 00186 00188 00205 virtual XalanNode* 00206 insertBefore( 00207 XalanNode* newChild, 00208 XalanNode* refChild) = 0; 00209 00223 virtual XalanNode* 00224 replaceChild( 00225 XalanNode* newChild, 00226 XalanNode* oldChild) = 0; 00227 00235 virtual XalanNode* 00236 removeChild(XalanNode* oldChild) = 0; 00237 00249 virtual XalanNode* 00250 appendChild(XalanNode* newChild) = 0; 00251 00253 00255 00263 virtual bool 00264 hasChildNodes() const = 0; 00265 00266 00268 00270 00271 00285 virtual void 00286 setNodeValue(const XalanDOMString& nodeValue) = 0; 00287 00289 00291 00308 virtual void 00309 normalize() = 0; 00310 00324 virtual bool 00325 isSupported( 00326 const XalanDOMString& feature, 00327 const XalanDOMString& version) const = 0; 00328 00342 virtual const XalanDOMString& 00343 getNamespaceURI() const = 0; 00344 00349 virtual const XalanDOMString& 00350 getPrefix() const = 0; 00351 00359 virtual const XalanDOMString& 00360 getLocalName() const = 0; 00361 00391 virtual void 00392 setPrefix(const XalanDOMString& prefix) = 0; 00393 00399 virtual bool 00400 isIndexed() const = 0; 00401 00408 virtual IndexType 00409 getIndex() const = 0; 00410 00412 00413 // These interfaces are new to XalanDocument... 00414 00424 virtual XalanElement* 00425 createElement(const XalanDOMString& tagName) = 0; 00426 00433 virtual XalanDocumentFragment* 00434 createDocumentFragment() = 0; 00435 00443 virtual XalanText* 00444 createTextNode(const XalanDOMString& data) = 0; 00445 00453 virtual XalanComment* 00454 createComment(const XalanDOMString& data) = 0; 00455 00465 virtual XalanCDATASection* 00466 createCDATASection(const XalanDOMString& data) = 0; 00467 00479 virtual XalanProcessingInstruction* 00480 createProcessingInstruction( 00481 const XalanDOMString& target, 00482 const XalanDOMString& data) = 0; 00483 00500 virtual XalanAttr* 00501 createAttribute(const XalanDOMString& name) = 0; 00502 00513 virtual XalanEntityReference* 00514 createEntityReference(const XalanDOMString &name) = 0; 00515 00517 00519 00528 virtual XalanDocumentType* 00529 getDoctype() const = 0; 00530 00531 00535 virtual XalanDOMImplementation* 00536 getImplementation() const = 0; 00537 00538 00542 virtual XalanElement* 00543 getDocumentElement() const = 0; 00544 00559 virtual XalanNodeList* 00560 getElementsByTagName(const XalanDOMString& tagname) const = 0; 00561 00563 00565 00588 virtual XalanNode* 00589 importNode( 00590 XalanNode* importedNode, 00591 bool deep) = 0; 00592 00615 virtual XalanElement* 00616 createElementNS( 00617 const XalanDOMString& namespaceURI, 00618 const XalanDOMString& qualifiedName) = 0; 00619 00648 virtual XalanAttr* 00649 createAttributeNS( 00650 const XalanDOMString& namespaceURI, 00651 const XalanDOMString& qualifiedName) = 0; 00652 00669 virtual XalanNodeList* 00670 getElementsByTagNameNS( 00671 const XalanDOMString& namespaceURI, 00672 const XalanDOMString& localName) const = 0; 00673 00689 virtual XalanElement* 00690 getElementById(const XalanDOMString& elementId) const = 0; 00691 00693 00694 protected: 00695 00696 XalanDocument(const XalanDocument& theSource); 00697 00698 XalanDocument& 00699 operator=(const XalanDocument& theSource); 00700 00701 bool 00702 operator==(const XalanDocument& theRHS) const; 00703 00704 private: 00705 }; 00706 00707 00708 00709 XALAN_CPP_NAMESPACE_END 00710 00711 00712 00713 #endif // !defined(XALANDOCUMENT_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 |
|