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(XALANSOURCETREEPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEPROCESSINGINSTRUCTION_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanProcessingInstruction.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 XalanSourceTreeDocument; 00039 class XalanSourceTreeDocumentFragment; 00040 class XalanSourceTreeElement; 00041 class XalanSourceTreeText; 00042 00043 00044 00045 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeProcessingInstruction : public XalanProcessingInstruction 00046 { 00047 public: 00048 00062 XalanSourceTreeProcessingInstruction( 00063 const XalanDOMString& theTarget, 00064 const XalanDOMString& theData, 00065 XalanSourceTreeDocument* theOwnerDocument, 00066 XalanNode* theParentNode = 0, 00067 XalanNode* thePreviousSibling = 0, 00068 XalanNode* theNextSibling = 0, 00069 IndexType theIndex = 0); 00070 00071 virtual 00072 ~XalanSourceTreeProcessingInstruction(); 00073 00074 00075 // These interfaces are inherited from XalanNode... 00076 00077 virtual const XalanDOMString& 00078 getNodeName() const; 00079 00083 virtual const XalanDOMString& 00084 getNodeValue() const; 00085 00089 virtual NodeType 00090 getNodeType() const; 00091 00101 virtual XalanNode* 00102 getParentNode() const; 00103 00117 virtual const XalanNodeList* 00118 getChildNodes() const; 00119 00125 virtual XalanNode* 00126 getFirstChild() const; 00127 00133 virtual XalanNode* 00134 getLastChild() const; 00135 00141 virtual XalanNode* 00142 getPreviousSibling() const; 00143 00149 virtual XalanNode* 00150 getNextSibling() const; 00151 00156 virtual const XalanNamedNodeMap* 00157 getAttributes() const; 00158 00168 virtual XalanDocument* 00169 getOwnerDocument() const; 00170 00172 00174 00193 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00194 virtual XalanNode* 00195 #else 00196 virtual XalanSourceTreeProcessingInstruction* 00197 #endif 00198 cloneNode(bool deep) const; 00199 00201 00203 00220 virtual XalanNode* 00221 insertBefore( 00222 XalanNode* newChild, 00223 XalanNode* refChild); 00224 00238 virtual XalanNode* 00239 replaceChild( 00240 XalanNode* newChild, 00241 XalanNode* oldChild); 00242 00250 virtual XalanNode* 00251 removeChild(XalanNode* oldChild); 00252 00264 virtual XalanNode* 00265 appendChild(XalanNode* newChild); 00266 00268 00270 00278 virtual bool 00279 hasChildNodes() const; 00280 00281 00283 00285 00286 00300 virtual void 00301 setNodeValue(const XalanDOMString& nodeValue); 00302 00304 00306 00323 virtual void 00324 normalize(); 00325 00339 virtual bool 00340 isSupported( 00341 const XalanDOMString& feature, 00342 const XalanDOMString& version) const; 00343 00357 virtual const XalanDOMString& 00358 getNamespaceURI() const; 00359 00364 virtual const XalanDOMString& 00365 getPrefix() const; 00366 00374 virtual const XalanDOMString& 00375 getLocalName() const; 00376 00406 virtual void 00407 setPrefix(const XalanDOMString& prefix); 00408 00409 virtual bool 00410 isIndexed() const; 00411 00412 virtual IndexType 00413 getIndex() const; 00414 00416 00417 // These interfaces are inherited from XalanProcessingInstruction... 00418 00420 00422 00428 virtual const XalanDOMString& 00429 getTarget() const; 00430 00440 virtual const XalanDOMString& 00441 getData() const; 00442 00444 00446 00454 virtual void 00455 setData(const XalanDOMString& data); 00457 00458 00459 // public interfaces not inherited from XalanProcessingInstruction... 00460 00461 void 00462 setParent(XalanSourceTreeElement* theParent); 00463 00464 void 00465 setParent(XalanSourceTreeDocumentFragment* theParent); 00466 00467 void 00468 setPreviousSibling(XalanSourceTreeComment* thePreviousSibling); 00469 00470 void 00471 setPreviousSibling(XalanSourceTreeElement* thePreviousSibling); 00472 00473 void 00474 setPreviousSibling(XalanSourceTreeProcessingInstruction* thePreviousSibling); 00475 00476 void 00477 setPreviousSibling(XalanSourceTreeText* thePreviousSibling); 00478 00479 void 00480 appendSiblingNode(XalanSourceTreeComment* theSibling); 00481 00482 void 00483 appendSiblingNode(XalanSourceTreeElement* theSibling); 00484 00485 void 00486 appendSiblingNode(XalanSourceTreeProcessingInstruction* theSibling); 00487 00488 void 00489 appendSiblingNode(XalanSourceTreeText* theSibling); 00490 00491 void 00492 setIndex(IndexType theIndex) 00493 { 00494 m_index = theIndex; 00495 } 00496 00497 protected: 00498 00499 XalanSourceTreeProcessingInstruction( 00500 const XalanSourceTreeProcessingInstruction& theSource, 00501 bool deep = false); 00502 00503 private: 00504 00505 // Not implemented... 00506 XalanSourceTreeProcessingInstruction& 00507 operator=(const XalanSourceTreeProcessingInstruction& theSource); 00508 00509 bool 00510 operator==(const XalanSourceTreeProcessingInstruction& theRHS) const; 00511 00512 00513 // Data members... 00514 const XalanDOMString& m_target; 00515 00516 const XalanDOMString& m_data; 00517 00518 XalanSourceTreeDocument* m_ownerDocument; 00519 00520 XalanNode* m_parentNode; 00521 00522 XalanNode* m_previousSibling; 00523 00524 XalanNode* m_nextSibling; 00525 00526 IndexType m_index; 00527 }; 00528 00529 00530 00531 XALAN_CPP_NAMESPACE_END 00532 00533 00534 00535 #endif // !defined(XALANSOURCETREEPROCESSINGINSTRUCTION_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 |
|