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(XALANSOURCETREEDOCUMENTFRAGMENT_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEDOCUMENTFRAGMENT_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 #include <xalanc/Include/XalanMemMgrAutoPtr.hpp> 00025 00026 00027 #include <xalanc/XalanDOM/XalanDocumentFragment.hpp> 00028 00029 00030 00031 #if !defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00032 #include <xalanc/XalanSourceTree/XalanSourceTreeDocument.hpp> 00033 #endif 00034 00035 00036 00037 XALAN_CPP_NAMESPACE_BEGIN 00038 00039 00040 00041 class XalanSourceTreeComment; 00042 class XalanSourceTreeDocument; 00043 class XalanSourceTreeElement; 00044 class XalanSourceTreeProcessingInstruction; 00045 class XalanSourceTreeText; 00046 00047 00048 00049 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeDocumentFragment : public XalanDocumentFragment 00050 { 00051 public: 00052 00053 XalanSourceTreeDocumentFragment(MemoryManagerType& theManager, 00054 XalanSourceTreeDocument& theOwnerDocument); 00055 00056 XalanSourceTreeDocumentFragment( 00057 MemoryManagerType& theManager, 00058 const XalanSourceTreeDocumentFragment& theSource, 00059 bool deep = false); 00060 00061 virtual 00062 ~XalanSourceTreeDocumentFragment(); 00063 00064 // These interfaces are inherited from XalanNode... 00065 00066 virtual const XalanDOMString& 00067 getNodeName() const; 00068 00069 virtual const XalanDOMString& 00070 getNodeValue() const; 00071 00072 virtual NodeType 00073 getNodeType() const; 00074 00075 virtual XalanNode* 00076 getParentNode() const; 00077 00078 virtual const XalanNodeList* 00079 getChildNodes() const; 00080 00081 virtual XalanNode* 00082 getFirstChild() const; 00083 00084 virtual XalanNode* 00085 getLastChild() const; 00086 00087 virtual XalanNode* 00088 getPreviousSibling() const; 00089 00090 virtual XalanNode* 00091 getNextSibling() const; 00092 00093 virtual const XalanNamedNodeMap* 00094 getAttributes() const; 00095 00096 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00097 virtual XalanDocument* 00098 #else 00099 virtual XalanSourceTreeDocument* 00100 #endif 00101 getOwnerDocument() const; 00102 00103 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00104 virtual XalanNode* 00105 #else 00106 virtual XalanSourceTreeDocumentFragment* 00107 #endif 00108 cloneNode(bool deep) const; 00109 00110 virtual XalanNode* 00111 insertBefore( 00112 XalanNode* newChild, 00113 XalanNode* refChild); 00114 00115 virtual XalanNode* 00116 replaceChild( 00117 XalanNode* newChild, 00118 XalanNode* oldChild); 00119 00120 virtual XalanNode* 00121 removeChild(XalanNode* oldChild); 00122 00123 virtual XalanNode* 00124 appendChild(XalanNode* newChild); 00125 00126 virtual bool 00127 hasChildNodes() const; 00128 00129 virtual void 00130 setNodeValue(const XalanDOMString& nodeValue); 00131 00132 virtual void 00133 normalize(); 00134 00135 virtual bool 00136 isSupported( 00137 const XalanDOMString& feature, 00138 const XalanDOMString& version) const; 00139 00140 virtual const XalanDOMString& 00141 getNamespaceURI() const; 00142 00143 virtual const XalanDOMString& 00144 getPrefix() const; 00145 00146 virtual const XalanDOMString& 00147 getLocalName() const; 00148 00149 virtual void 00150 setPrefix(const XalanDOMString& prefix); 00151 00152 virtual bool 00153 isIndexed() const; 00154 00155 virtual IndexType 00156 getIndex() const; 00157 00158 // These interfaces are new... 00159 00160 void 00161 appendChildNode(XalanSourceTreeComment* theChild); 00162 00163 void 00164 appendChildNode(XalanSourceTreeElement* theChild); 00165 00166 void 00167 appendChildNode(XalanSourceTreeProcessingInstruction* theChild); 00168 00169 void 00170 appendChildNode(XalanSourceTreeText* theChild); 00171 00172 void 00173 clearChildren(); 00174 00175 XalanSourceTreeDocumentFragment* 00176 clone(bool deep) const; 00177 00178 00179 protected: 00180 00181 XalanSourceTreeDocumentFragment& 00182 operator=(const XalanSourceTreeDocumentFragment& theSource); 00183 00184 bool 00185 operator==(const XalanSourceTreeDocumentFragment& theRHS) const; 00186 00187 private: 00188 MemoryManagerType& m_manager; 00189 00190 XalanSourceTreeDocument* const m_ownerDocument; 00191 00192 XalanNode* m_firstChild; 00193 }; 00194 00195 00196 00197 XALAN_CPP_NAMESPACE_END 00198 00199 00200 00201 #endif // !defined(XALANSOURCETREEDOCUMENTFRAGMENT_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 |
|