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(XALANSOURCETREECOMMENT_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREECOMMENT_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanComment.hpp> 00026 00027 00028 00029 #include <xalanc/XalanDOM/XalanDOMString.hpp> 00030 00031 00032 00033 XALAN_CPP_NAMESPACE_BEGIN 00034 00035 00036 00037 class XalanSourceTreeDocument; 00038 class XalanSourceTreeDocumentFragment; 00039 class XalanSourceTreeElement; 00040 class XalanSourceTreeProcessingInstruction; 00041 class XalanSourceTreeText; 00042 00043 00044 00045 /* 00046 * <meta name="usage" content="experimental"/> 00047 * 00048 * Base class for the Xalan source tree Attr interface. 00049 * 00050 * This class is experimental and subject to change!! 00051 */ 00052 00053 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeComment : public XalanComment 00054 { 00055 public: 00056 00060 static void 00061 initialize(); 00062 00066 static void 00067 terminate(); 00068 00069 00080 XalanSourceTreeComment( 00081 const XalanDOMString& theData, 00082 XalanSourceTreeDocument* theOwnerDocument, 00083 XalanNode* theParentNode = 0, 00084 XalanNode* thePreviousSibling = 0, 00085 XalanNode* theNextSibling = 0, 00086 IndexType theIndex = 0); 00087 00088 virtual 00089 ~XalanSourceTreeComment(); 00090 00091 00095 virtual const XalanDOMString& 00096 getNodeName() const; 00097 00101 virtual const XalanDOMString& 00102 getNodeValue() const; 00103 00107 virtual NodeType 00108 getNodeType() const; 00109 00119 virtual XalanNode* 00120 getParentNode() const; 00121 00135 virtual const XalanNodeList* 00136 getChildNodes() const; 00137 00143 virtual XalanNode* 00144 getFirstChild() const; 00145 00151 virtual XalanNode* 00152 getLastChild() const; 00153 00159 virtual XalanNode* 00160 getPreviousSibling() const; 00161 00167 virtual XalanNode* 00168 getNextSibling() const; 00169 00174 virtual const XalanNamedNodeMap* 00175 getAttributes() const; 00176 00186 virtual XalanDocument* 00187 getOwnerDocument() const; 00188 00190 00192 00211 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00212 virtual XalanNode* 00213 #else 00214 virtual XalanSourceTreeComment* 00215 #endif 00216 cloneNode(bool deep) const; 00217 00219 00221 00238 virtual XalanNode* 00239 insertBefore( 00240 XalanNode* newChild, 00241 XalanNode* refChild); 00242 00256 virtual XalanNode* 00257 replaceChild( 00258 XalanNode* newChild, 00259 XalanNode* oldChild); 00260 00268 virtual XalanNode* 00269 removeChild(XalanNode* oldChild); 00270 00282 virtual XalanNode* 00283 appendChild(XalanNode* newChild); 00284 00286 00288 00296 virtual bool 00297 hasChildNodes() const; 00298 00299 00301 00303 00317 virtual void 00318 setNodeValue(const XalanDOMString& nodeValue); 00319 00321 00323 00340 virtual void 00341 normalize(); 00342 00356 virtual bool 00357 isSupported( 00358 const XalanDOMString& feature, 00359 const XalanDOMString& version) const; 00360 00374 virtual const XalanDOMString& 00375 getNamespaceURI() const; 00376 00381 virtual const XalanDOMString& 00382 getPrefix() const; 00383 00391 virtual const XalanDOMString& 00392 getLocalName() const; 00393 00423 virtual void 00424 setPrefix(const XalanDOMString& prefix); 00425 00426 virtual bool 00427 isIndexed() const; 00428 00429 virtual IndexType 00430 getIndex() const; 00431 00433 00434 // These interfaces are inherited from XalanCDATASection... 00435 00454 virtual const XalanDOMString& 00455 getData() const; 00456 00464 virtual unsigned int 00465 getLength() const; 00466 00482 virtual XalanDOMString 00483 substringData( 00484 unsigned int offset, 00485 unsigned int count) const; 00486 00488 00499 virtual void 00500 appendData(const XalanDOMString& arg); 00501 00512 virtual void 00513 insertData( 00514 unsigned int offset, 00515 const XalanDOMString& arg); 00516 00533 virtual void 00534 deleteData( 00535 unsigned int offset, 00536 unsigned int count); 00537 00556 virtual void 00557 replaceData( 00558 unsigned int offset, 00559 unsigned int count, 00560 const XalanDOMString& arg); 00561 00563 00564 00565 // public interfaces not inherited from XalanComment... 00566 00567 void 00568 setParent(XalanSourceTreeElement* theParent); 00569 00570 void 00571 setParent(XalanSourceTreeDocumentFragment* theParent); 00572 00573 void 00574 setPreviousSibling(XalanSourceTreeComment* thePreviousSibling); 00575 00576 void 00577 setPreviousSibling(XalanSourceTreeElement* thePreviousSibling); 00578 00579 void 00580 setPreviousSibling(XalanSourceTreeProcessingInstruction* thePreviousSibling); 00581 00582 void 00583 setPreviousSibling(XalanSourceTreeText* thePreviousSibling); 00584 00585 void 00586 appendSiblingNode(XalanSourceTreeComment* theSibling); 00587 00588 void 00589 appendSiblingNode(XalanSourceTreeElement* theSibling); 00590 00591 void 00592 appendSiblingNode(XalanSourceTreeProcessingInstruction* theSibling); 00593 00594 void 00595 appendSiblingNode(XalanSourceTreeText* theSibling); 00596 00597 void 00598 setIndex(IndexType theIndex) 00599 { 00600 m_index = theIndex; 00601 } 00602 00603 protected: 00604 00605 XalanSourceTreeComment( 00606 const XalanSourceTreeComment& theSource, 00607 bool deep = false); 00608 00609 private: 00610 00611 // Not implemented... 00612 XalanSourceTreeComment& 00613 operator=(const XalanSourceTreeComment& theSource); 00614 00615 bool 00616 operator==(const XalanSourceTreeComment& theRHS) const; 00617 00618 00619 // Data members... 00620 const XalanDOMString& m_data; 00621 00622 XalanSourceTreeDocument* m_ownerDocument; 00623 00624 XalanNode* m_parentNode; 00625 00626 XalanNode* m_previousSibling; 00627 00628 XalanNode* m_nextSibling; 00629 00630 IndexType m_index; 00631 00632 static const XalanDOMString& s_nameString; 00633 }; 00634 00635 00636 00637 XALAN_CPP_NAMESPACE_END 00638 00639 00640 00641 #endif // !defined(XALANSOURCETREECOMMENT_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 |
|