00001 /* 00002 * The Apache Software License, Version 1.1 00003 * 00004 * 00005 * Copyright (c) 1999 The Apache Software Foundation. All rights 00006 * reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without 00009 * modification, are permitted provided that the following conditions 00010 * are met: 00011 * 00012 * 1. Redistributions of source code must retain the above copyright 00013 * notice, this list of conditions and the following disclaimer. 00014 * 00015 * 2. Redistributions in binary form must reproduce the above copyright 00016 * notice, this list of conditions and the following disclaimer in 00017 * the documentation and/or other materials provided with the 00018 * distribution. 00019 * 00020 * 3. The end-user documentation included with the redistribution, 00021 * if any, must include the following acknowledgment: 00022 * "This product includes software developed by the 00023 * Apache Software Foundation (http://www.apache.org/)." 00024 * Alternately, this acknowledgment may appear in the software itself, 00025 * if and wherever such third-party acknowledgments normally appear. 00026 * 00027 * 4. The names "Xalan" and "Apache Software Foundation" must 00028 * not be used to endorse or promote products derived from this 00029 * software without prior written permission. For written 00030 * permission, please contact apache@apache.org. 00031 * 00032 * 5. Products derived from this software may not be called "Apache", 00033 * nor may "Apache" appear in their name, without prior written 00034 * permission of the Apache Software Foundation. 00035 * 00036 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00037 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00038 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00039 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 00040 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00041 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00042 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00043 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00044 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00045 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00046 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00047 * SUCH DAMAGE. 00048 * ==================================================================== 00049 * 00050 * This software consists of voluntary contributions made by many 00051 * individuals on behalf of the Apache Software Foundation and was 00052 * originally based on software copyright (c) 1999, International 00053 * Business Machines, Inc., http://www.ibm.com. For more 00054 * information on the Apache Software Foundation, please see 00055 * <http://www.apache.org/>. 00056 */ 00057 #if !defined(XALANSOURCETREETEXT_HEADER_GUARD_1357924680) 00058 #define XALANSOURCETREETEXT_HEADER_GUARD_1357924680 00059 00060 00061 00062 #include <XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00063 00064 00065 00066 #include <XalanDOM/XalanText.hpp> 00067 00068 00069 00070 #include <XalanDOM/XalanDOMString.hpp> 00071 00072 00073 00074 class XalanSourceTreeComment; 00075 class XalanSourceTreeDocumentFragment; 00076 class XalanSourceTreeElement; 00077 class XalanSourceTreeProcessingInstruction; 00078 00079 00080 00081 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeText : public XalanText 00082 { 00083 public: 00084 00088 static void 00089 initialize(); 00090 00094 static void 00095 terminate(); 00096 00107 XalanSourceTreeText( 00108 const XalanDOMString& theData, 00109 XalanNode* theParentNode = 0, 00110 XalanNode* thePreviousSibling = 0, 00111 XalanNode* theNextSibling = 0, 00112 unsigned int theIndex = 0); 00113 00114 virtual 00115 ~XalanSourceTreeText(); 00116 00117 00121 virtual const XalanDOMString& 00122 getNodeName() const; 00123 00127 virtual const XalanDOMString& 00128 getNodeValue() const; 00129 00133 virtual NodeType 00134 getNodeType() const; 00135 00145 virtual XalanNode* 00146 getParentNode() const; 00147 00161 virtual const XalanNodeList* 00162 getChildNodes() const; 00163 00169 virtual XalanNode* 00170 getFirstChild() const; 00171 00177 virtual XalanNode* 00178 getLastChild() const; 00179 00185 virtual XalanNode* 00186 getPreviousSibling() const; 00187 00193 virtual XalanNode* 00194 getNextSibling() const; 00195 00200 virtual const XalanNamedNodeMap* 00201 getAttributes() const; 00202 00212 virtual XalanDocument* 00213 getOwnerDocument() const; 00214 00215 //@} 00217 //@{ 00218 00237 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00238 virtual XalanNode* 00239 #else 00240 virtual XalanSourceTreeText* 00241 #endif 00242 cloneNode(bool deep) const; 00243 00244 //@} 00246 //@{ 00247 00264 virtual XalanNode* 00265 insertBefore( 00266 XalanNode* newChild, 00267 XalanNode* refChild); 00268 00282 virtual XalanNode* 00283 replaceChild( 00284 XalanNode* newChild, 00285 XalanNode* oldChild); 00286 00294 virtual XalanNode* 00295 removeChild(XalanNode* oldChild); 00296 00308 virtual XalanNode* 00309 appendChild(XalanNode* newChild); 00310 00311 //@} 00313 //@{ 00314 00322 virtual bool 00323 hasChildNodes() const; 00324 00325 00326 //@} 00328 //@{ 00329 00330 00344 virtual void 00345 setNodeValue(const XalanDOMString& nodeValue); 00346 00347 //@} 00349 //@{ 00350 00367 virtual void 00368 normalize(); 00369 00383 virtual bool 00384 isSupported( 00385 const XalanDOMString& feature, 00386 const XalanDOMString& version) const; 00387 00401 virtual const XalanDOMString& 00402 getNamespaceURI() const; 00403 00408 virtual const XalanDOMString& 00409 getPrefix() const; 00410 00418 virtual const XalanDOMString& 00419 getLocalName() const; 00420 00450 virtual void 00451 setPrefix(const XalanDOMString& prefix); 00452 00453 virtual bool 00454 isIndexed() const; 00455 00456 virtual unsigned long 00457 getIndex() const; 00458 00459 //@} 00460 00461 // These interfaces are inherited from XalanCDATASection... 00462 00464 //@{ 00481 virtual const XalanDOMString& 00482 getData() const; 00483 00491 virtual unsigned int 00492 getLength() const; 00493 00509 virtual XalanDOMString 00510 substringData( 00511 unsigned int offset, 00512 unsigned int count) const; 00513 00514 //@} 00516 //@{ 00526 virtual void 00527 appendData(const XalanDOMString& arg); 00528 00539 virtual void 00540 insertData( 00541 unsigned int offset, 00542 const XalanDOMString& arg); 00543 00560 virtual void 00561 deleteData( 00562 unsigned int offset, 00563 unsigned int count); 00564 00583 virtual void 00584 replaceData( 00585 unsigned int offset, 00586 unsigned int count, 00587 const XalanDOMString& arg); 00588 00589 //@} 00590 00591 //@} 00593 //@{ 00594 00612 virtual XalanText* 00613 splitText(unsigned int offset); 00614 00615 //@} 00616 00617 virtual bool 00618 isIgnorableWhitespace() const; 00619 00620 00621 // public interfaces not inherited from XalanCDATASection... 00622 00623 void 00624 setParent(XalanSourceTreeElement* theParent); 00625 00626 void 00627 setParent(XalanSourceTreeDocumentFragment* theParent); 00628 00629 void 00630 setPreviousSibling(XalanSourceTreeComment* thePreviousSibling); 00631 00632 void 00633 setPreviousSibling(XalanSourceTreeElement* thePreviousSibling); 00634 00635 void 00636 setPreviousSibling(XalanSourceTreeProcessingInstruction* thePreviousSibling); 00637 00638 void 00639 setPreviousSibling(XalanSourceTreeText* thePreviousSibling); 00640 00641 void 00642 appendSiblingNode(XalanSourceTreeComment* theSibling); 00643 00644 void 00645 appendSiblingNode(XalanSourceTreeElement* theSibling); 00646 00647 void 00648 appendSiblingNode(XalanSourceTreeProcessingInstruction* theSibling); 00649 00650 void 00651 appendSiblingNode(XalanSourceTreeText* theSibling); 00652 00653 void 00654 setIndex(unsigned int theIndex) 00655 { 00656 m_index = theIndex; 00657 } 00658 00659 protected: 00660 00661 XalanSourceTreeText( 00662 const XalanSourceTreeText& theSource, 00663 bool /* deep */); 00664 00665 private: 00666 00667 // Not implemented... 00668 XalanSourceTreeText& 00669 operator=(const XalanSourceTreeText& theSource); 00670 00671 bool 00672 operator==(const XalanSourceTreeText& theRHS) const; 00673 00674 00675 // Data members... 00676 const XalanDOMString& m_data; 00677 00678 XalanNode* m_parentNode; 00679 00680 XalanNode* m_previousSibling; 00681 00682 XalanNode* m_nextSibling; 00683 00684 unsigned int m_index; 00685 00686 static const XalanDOMString& s_nameString; 00687 }; 00688 00689 00690 00691 #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.4 |
|