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(MemoryManagerType& theManager); 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 00438 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, 00486 XalanDOMString& theBuffer) const; 00487 00489 00491 00500 virtual void 00501 appendData(const XalanDOMString& arg); 00502 00513 virtual void 00514 insertData( 00515 unsigned int offset, 00516 const XalanDOMString& arg); 00517 00534 virtual void 00535 deleteData( 00536 unsigned int offset, 00537 unsigned int count); 00538 00557 virtual void 00558 replaceData( 00559 unsigned int offset, 00560 unsigned int count, 00561 const XalanDOMString& arg); 00562 00564 00565 00566 // public interfaces not inherited from XalanComment... 00567 00568 void 00569 setParent(XalanSourceTreeElement* theParent); 00570 00571 void 00572 setParent(XalanSourceTreeDocumentFragment* theParent); 00573 00574 void 00575 setPreviousSibling(XalanSourceTreeComment* thePreviousSibling); 00576 00577 void 00578 setPreviousSibling(XalanSourceTreeElement* thePreviousSibling); 00579 00580 void 00581 setPreviousSibling(XalanSourceTreeProcessingInstruction* thePreviousSibling); 00582 00583 void 00584 setPreviousSibling(XalanSourceTreeText* thePreviousSibling); 00585 00586 void 00587 appendSiblingNode(XalanSourceTreeComment* theSibling); 00588 00589 void 00590 appendSiblingNode(XalanSourceTreeElement* theSibling); 00591 00592 void 00593 appendSiblingNode(XalanSourceTreeProcessingInstruction* theSibling); 00594 00595 void 00596 appendSiblingNode(XalanSourceTreeText* theSibling); 00597 00598 void 00599 setIndex(IndexType theIndex) 00600 { 00601 m_index = theIndex; 00602 } 00603 00604 protected: 00605 00606 XalanSourceTreeComment( 00607 const XalanSourceTreeComment& theSource, 00608 bool deep = false); 00609 00610 private: 00611 00612 // Not implemented... 00613 XalanSourceTreeComment& 00614 operator=(const XalanSourceTreeComment& theSource); 00615 00616 bool 00617 operator==(const XalanSourceTreeComment& theRHS) const; 00618 00619 00620 // Data members... 00621 const XalanDOMString& m_data; 00622 00623 XalanSourceTreeDocument* m_ownerDocument; 00624 00625 XalanNode* m_parentNode; 00626 00627 XalanNode* m_previousSibling; 00628 00629 XalanNode* m_nextSibling; 00630 00631 IndexType m_index; 00632 00633 static const XalanDOMString& s_nameString; 00634 }; 00635 00636 00637 00638 XALAN_CPP_NAMESPACE_END 00639 00640 00641 00642 #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.10 |
|