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(XALANSOURCETREEATTR_HEADER_GUARD_1357924680) 00017 #define XALANSOURCETREEATTR_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanAttr.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 XalanSourceTreeElement; 00039 00040 00041 00042 /* 00043 * <meta name="usage" content="experimental"/> 00044 * 00045 * Base class for the Xalan source tree Attr interface. 00046 * 00047 * This class is experimental and subject to change!! 00048 */ 00049 00050 class XALAN_XALANSOURCETREE_EXPORT XalanSourceTreeAttr : public XalanAttr 00051 { 00052 public: 00053 00063 XalanSourceTreeAttr( 00064 const XalanDOMString& theName, 00065 const XalanDOMString& theValue, 00066 XalanSourceTreeElement* theOwnerElement = 0, 00067 IndexType theIndex = 0); 00068 00069 virtual 00070 ~XalanSourceTreeAttr(); 00071 00072 00073 // These interfaces are inherited from XalanNode... 00074 virtual const XalanDOMString& 00075 getNodeName() const; 00076 00080 virtual const XalanDOMString& 00081 getNodeValue() const; 00082 00086 virtual NodeType 00087 getNodeType() const; 00088 00098 virtual XalanNode* 00099 getParentNode() const; 00100 00114 virtual const XalanNodeList* 00115 getChildNodes() const; 00116 00122 virtual XalanNode* 00123 getFirstChild() const; 00124 00130 virtual XalanNode* 00131 getLastChild() const; 00132 00138 virtual XalanNode* 00139 getPreviousSibling() const; 00140 00146 virtual XalanNode* 00147 getNextSibling() const; 00148 00153 virtual const XalanNamedNodeMap* 00154 getAttributes() const; 00155 00165 virtual XalanDocument* 00166 getOwnerDocument() const; 00167 00169 00171 00190 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00191 virtual XalanNode* 00192 #else 00193 virtual XalanSourceTreeAttr* 00194 #endif 00195 cloneNode(bool deep) const; 00196 00198 00200 00217 virtual XalanNode* 00218 insertBefore( 00219 XalanNode* newChild, 00220 XalanNode* refChild); 00221 00235 virtual XalanNode* 00236 replaceChild( 00237 XalanNode* newChild, 00238 XalanNode* oldChild); 00239 00247 virtual XalanNode* 00248 removeChild(XalanNode* oldChild); 00249 00261 virtual XalanNode* 00262 appendChild(XalanNode* newChild); 00263 00265 00267 00275 virtual bool 00276 hasChildNodes() const; 00277 00278 00280 00282 00283 00297 virtual void 00298 setNodeValue(const XalanDOMString& nodeValue); 00299 00301 00303 00320 virtual void 00321 normalize(); 00322 00336 virtual bool 00337 isSupported( 00338 const XalanDOMString& feature, 00339 const XalanDOMString& version) const; 00340 00354 virtual const XalanDOMString& 00355 getNamespaceURI() const; 00356 00361 virtual const XalanDOMString& 00362 getPrefix() const; 00363 00371 virtual const XalanDOMString& 00372 getLocalName() const; 00373 00403 virtual void 00404 setPrefix(const XalanDOMString& prefix); 00405 00411 virtual bool 00412 isIndexed() const; 00413 00420 virtual IndexType 00421 getIndex() const; 00422 00424 00425 // These interfaces are inherited from XalanAttr... 00426 00429 00433 virtual const XalanDOMString& 00434 getName() const; 00435 00443 virtual bool 00444 getSpecified() const; 00445 00452 virtual const XalanDOMString& 00453 getValue() const; 00454 00456 00458 00465 virtual void 00466 setValue(const XalanDOMString& value); 00467 00469 00472 00476 virtual XalanElement* 00477 getOwnerElement() const; 00479 00480 00481 // public interfaces not inherited from XalanAttr... 00482 00483 void 00484 setOwnerElement(XalanSourceTreeElement* theElement) 00485 { 00486 m_ownerElement = theElement; 00487 } 00488 00489 void 00490 setIndex(IndexType theIndex) 00491 { 00492 m_index = theIndex; 00493 } 00494 00495 protected: 00496 00497 XalanSourceTreeAttr( 00498 const XalanSourceTreeAttr& theSource, 00499 bool deep = false); 00500 00501 private: 00502 00503 // Not defined... 00504 XalanSourceTreeAttr& 00505 operator=(const XalanSourceTreeAttr& theSource); 00506 00507 bool 00508 operator==(const XalanSourceTreeAttr& theRHS) const; 00509 00510 00511 // Data members... 00512 const XalanDOMString& m_name; 00513 00514 const XalanDOMString& m_value; 00515 00516 XalanSourceTreeElement* m_ownerElement; 00517 00518 IndexType m_index; 00519 }; 00520 00521 00522 00523 XALAN_CPP_NAMESPACE_END 00524 00525 00526 00527 #endif // !defined(XALANSOURCETREEATTR_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 |
|