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(XERCESATTRWRAPPER_HEADER_GUARD_1357924680) 00017 #define XERCESATTRWRAPPER_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00022 00023 00024 00025 #include <xercesc/dom/DOMAttr.hpp> 00026 00027 00028 00029 #include <xalanc/XalanDOM/XalanAttr.hpp> 00030 00031 00032 00033 #include <xalanc/XercesParserLiaison/XercesNodeListWrapper.hpp> 00034 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp> 00035 00036 00037 00038 XALAN_CPP_NAMESPACE_BEGIN 00039 00040 00041 00042 class XercesWrapperNavigator; 00043 class XalanElement; 00044 00045 00046 00047 class XALAN_XERCESPARSERLIAISON_EXPORT XercesAttrWrapper : public XalanAttr 00048 { 00049 public: 00050 00051 XercesAttrWrapper( 00052 const DOMAttrType* theXercesAttr, 00053 const XercesWrapperNavigator& theNavigator); 00054 00055 virtual 00056 ~XercesAttrWrapper(); 00057 00058 00059 // These interfaces are inherited from XalanNode... 00060 virtual const XalanDOMString& 00061 getNodeName() const; 00062 00066 virtual const XalanDOMString& 00067 getNodeValue() const; 00068 00072 virtual NodeType 00073 getNodeType() const; 00074 00084 virtual XalanNode* 00085 getParentNode() const; 00086 00100 virtual const XalanNodeList* 00101 getChildNodes() const; 00102 00108 virtual XalanNode* 00109 getFirstChild() const; 00110 00116 virtual XalanNode* 00117 getLastChild() const; 00118 00124 virtual XalanNode* 00125 getPreviousSibling() const; 00126 00132 virtual XalanNode* 00133 getNextSibling() const; 00134 00139 virtual const XalanNamedNodeMap* 00140 getAttributes() const; 00141 00151 virtual XalanDocument* 00152 getOwnerDocument() const; 00153 00155 00157 00176 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00177 virtual XalanNode* 00178 #else 00179 virtual XercesAttrWrapper* 00180 #endif 00181 cloneNode(bool deep) const; 00182 00184 00186 00203 virtual XalanNode* 00204 insertBefore( 00205 XalanNode* newChild, 00206 XalanNode* refChild); 00207 00221 virtual XalanNode* 00222 replaceChild( 00223 XalanNode* newChild, 00224 XalanNode* oldChild); 00225 00233 virtual XalanNode* 00234 removeChild(XalanNode* oldChild); 00235 00247 virtual XalanNode* 00248 appendChild(XalanNode* newChild); 00249 00251 00253 00261 virtual bool 00262 hasChildNodes() const; 00263 00264 00266 00268 00269 00283 virtual void 00284 setNodeValue(const XalanDOMString& nodeValue); 00285 00287 00289 00306 virtual void 00307 normalize(); 00308 00322 virtual bool 00323 isSupported( 00324 const XalanDOMString& feature, 00325 const XalanDOMString& version) const; 00326 00340 virtual const XalanDOMString& 00341 getNamespaceURI() const; 00342 00347 virtual const XalanDOMString& 00348 getPrefix() const; 00349 00357 virtual const XalanDOMString& 00358 getLocalName() const; 00359 00389 virtual void 00390 setPrefix(const XalanDOMString& prefix); 00391 00392 virtual bool 00393 isIndexed() const; 00394 00395 virtual IndexType 00396 getIndex() const; 00397 00399 00400 // These interfaces are inherited from XalanAttr... 00401 00404 00408 virtual const XalanDOMString& 00409 getName() const; 00410 00418 virtual bool 00419 getSpecified() const; 00420 00427 virtual const XalanDOMString& 00428 getValue() const; 00429 00431 00433 00440 virtual void 00441 setValue(const XalanDOMString& value); 00442 00444 00447 00451 virtual XalanElement* 00452 getOwnerElement() const; 00454 00460 const DOMAttrType* 00461 getXercesNode() const 00462 { 00463 return m_xercesNode; 00464 } 00465 00466 private: 00467 00468 // Not implemented... 00469 XercesAttrWrapper(const XercesAttrWrapper& theSource); 00470 00471 XercesAttrWrapper& 00472 operator=(const XercesAttrWrapper& theSource); 00473 00474 bool 00475 operator==(const XercesAttrWrapper& theRHS) const; 00476 00477 // Data members... 00478 const DOMAttrType* const m_xercesNode; 00479 00480 XercesNodeListWrapper m_children; 00481 00482 const XercesWrapperNavigator& m_navigator; 00483 }; 00484 00485 00486 00487 XALAN_CPP_NAMESPACE_END 00488 00489 00490 00491 #endif // !defined(XERCESATTRBRIDGE_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 |
|