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(XALANSOURCETREETEXT_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREETEXT_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanText.hpp> 00026 00027 00028 00029 #include <xalanc/XalanDOM/XalanDOMString.hpp> 00030 00031 00032 00033 XALAN_CPP_NAMESPACE_BEGIN 00034 00035 00036 00037 class XalanSourceTreeComment; 00038 class XalanSourceTreeDocumentFragment; 00039 class XalanSourceTreeElement; 00040 class XalanSourceTreeProcessingInstruction; 00041 00042 00043 00044 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeText : public XalanText 00045 { 00046 public: 00047 00051 static void 00052 initialize(MemoryManagerType& theManager); 00053 00057 static void 00058 terminate(); 00059 00070 XalanSourceTreeText( 00071 const XalanDOMString& theData, 00072 XalanNode* theParentNode = 0, 00073 XalanNode* thePreviousSibling = 0, 00074 XalanNode* theNextSibling = 0, 00075 IndexType theIndex = 0); 00076 00077 virtual 00078 ~XalanSourceTreeText(); 00079 00080 00084 virtual const XalanDOMString& 00085 getNodeName() const; 00086 00090 virtual const XalanDOMString& 00091 getNodeValue() const; 00092 00096 virtual NodeType 00097 getNodeType() const; 00098 00108 virtual XalanNode* 00109 getParentNode() const; 00110 00124 virtual const XalanNodeList* 00125 getChildNodes() const; 00126 00132 virtual XalanNode* 00133 getFirstChild() const; 00134 00140 virtual XalanNode* 00141 getLastChild() const; 00142 00148 virtual XalanNode* 00149 getPreviousSibling() const; 00150 00156 virtual XalanNode* 00157 getNextSibling() const; 00158 00163 virtual const XalanNamedNodeMap* 00164 getAttributes() const; 00165 00175 virtual XalanDocument* 00176 getOwnerDocument() const; 00177 00179 00181 00200 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00201 virtual XalanNode* 00202 #else 00203 virtual XalanSourceTreeText* 00204 #endif 00205 cloneNode(bool deep) const; 00206 00208 00210 00227 virtual XalanNode* 00228 insertBefore( 00229 XalanNode* newChild, 00230 XalanNode* refChild); 00231 00245 virtual XalanNode* 00246 replaceChild( 00247 XalanNode* newChild, 00248 XalanNode* oldChild); 00249 00257 virtual XalanNode* 00258 removeChild(XalanNode* oldChild); 00259 00271 virtual XalanNode* 00272 appendChild(XalanNode* newChild); 00273 00275 00277 00285 virtual bool 00286 hasChildNodes() const; 00287 00288 00290 00292 00293 00307 virtual void 00308 setNodeValue(const XalanDOMString& nodeValue); 00309 00311 00313 00330 virtual void 00331 normalize(); 00332 00346 virtual bool 00347 isSupported( 00348 const XalanDOMString& feature, 00349 const XalanDOMString& version) const; 00350 00364 virtual const XalanDOMString& 00365 getNamespaceURI() const; 00366 00371 virtual const XalanDOMString& 00372 getPrefix() const; 00373 00381 virtual const XalanDOMString& 00382 getLocalName() const; 00383 00413 virtual void 00414 setPrefix(const XalanDOMString& prefix); 00415 00416 virtual bool 00417 isIndexed() const; 00418 00419 virtual IndexType 00420 getIndex() const; 00421 00423 00424 // These interfaces are inherited from XalanCDATASection... 00425 00428 00444 virtual const XalanDOMString& 00445 getData() const; 00446 00454 virtual unsigned int 00455 getLength() const; 00456 00472 virtual XalanDOMString& 00473 substringData( 00474 unsigned int offset, 00475 unsigned int count, 00476 XalanDOMString& theResult) const; 00477 00479 00481 00490 virtual void 00491 appendData(const XalanDOMString& arg); 00492 00503 virtual void 00504 insertData( 00505 unsigned int offset, 00506 const XalanDOMString& arg); 00507 00524 virtual void 00525 deleteData( 00526 unsigned int offset, 00527 unsigned int count); 00528 00547 virtual void 00548 replaceData( 00549 unsigned int offset, 00550 unsigned int count, 00551 const XalanDOMString& arg); 00552 00554 00556 00558 00576 virtual XalanText* 00577 splitText(unsigned int offset); 00578 00580 00581 virtual bool 00582 isIgnorableWhitespace() const; 00583 00584 00585 // public interfaces not inherited from XalanCDATASection... 00586 00587 void 00588 setParent(XalanSourceTreeElement* theParent); 00589 00590 void 00591 setParent(XalanSourceTreeDocumentFragment* theParent); 00592 00593 void 00594 setPreviousSibling(XalanSourceTreeComment* thePreviousSibling); 00595 00596 void 00597 setPreviousSibling(XalanSourceTreeElement* thePreviousSibling); 00598 00599 void 00600 setPreviousSibling(XalanSourceTreeProcessingInstruction* thePreviousSibling); 00601 00602 void 00603 setPreviousSibling(XalanSourceTreeText* thePreviousSibling); 00604 00605 void 00606 appendSiblingNode(XalanSourceTreeComment* theSibling); 00607 00608 void 00609 appendSiblingNode(XalanSourceTreeElement* theSibling); 00610 00611 void 00612 appendSiblingNode(XalanSourceTreeProcessingInstruction* theSibling); 00613 00614 void 00615 appendSiblingNode(XalanSourceTreeText* theSibling); 00616 00617 void 00618 setIndex(IndexType theIndex) 00619 { 00620 m_index = theIndex; 00621 } 00622 00623 protected: 00624 00625 XalanSourceTreeText( 00626 const XalanSourceTreeText& theSource, 00627 bool /* deep */); 00628 00629 private: 00630 00631 // Not implemented... 00632 XalanSourceTreeText& 00633 operator=(const XalanSourceTreeText& theSource); 00634 00635 bool 00636 operator==(const XalanSourceTreeText& theRHS) const; 00637 00638 00639 // Data members... 00640 const XalanDOMString& m_data; 00641 00642 XalanNode* m_parentNode; 00643 00644 XalanNode* m_previousSibling; 00645 00646 XalanNode* m_nextSibling; 00647 00648 IndexType m_index; 00649 00650 static const XalanDOMString& s_nameString; 00651 }; 00652 00653 00654 00655 XALAN_CPP_NAMESPACE_END 00656 00657 00658 00659 #endif // !defined(XALANSOURCETREETEXT_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 |
|