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(XERCESENTITYWRAPPER_HEADER_GUARD_1357924680) 00017 #define XERCESENTITYWRAPPER_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00022 00023 00024 #include <xalanc/Include/XalanMemMgrAutoPtr.hpp> 00025 00026 00027 #include <xalanc/XalanDOM/XalanEntity.hpp> 00028 00029 00030 00031 #include <xalanc/XercesParserLiaison/XercesNodeListWrapper.hpp> 00032 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp> 00033 00034 00035 00036 XALAN_CPP_NAMESPACE_BEGIN 00037 00038 00039 00040 class XercesWrapperNavigator; 00041 00042 00043 00044 class XALAN_XERCESPARSERLIAISON_EXPORT XercesEntityWrapper : public XalanEntity 00045 { 00046 public: 00047 00048 XercesEntityWrapper( 00049 const DOMEntityType* theXercesDOMEntity, 00050 const XercesWrapperNavigator& theNavigator); 00051 00052 static XercesEntityWrapper* 00053 create( MemoryManagerType& theManager, 00054 const DOMEntityType* theXercesDOMEntity, 00055 const XercesWrapperNavigator& theNavigator); 00056 00057 virtual 00058 ~XercesEntityWrapper(); 00059 00060 00061 // These interfaces are inherited from XalanNode... 00062 00063 virtual const XalanDOMString& 00064 getNodeName() const; 00065 00069 virtual const XalanDOMString& 00070 getNodeValue() const; 00071 00075 virtual NodeType 00076 getNodeType() const; 00077 00087 virtual XalanNode* 00088 getParentNode() const; 00089 00103 virtual const XalanNodeList* 00104 getChildNodes() const; 00105 00111 virtual XalanNode* 00112 getFirstChild() const; 00113 00119 virtual XalanNode* 00120 getLastChild() const; 00121 00127 virtual XalanNode* 00128 getPreviousSibling() const; 00129 00135 virtual XalanNode* 00136 getNextSibling() const; 00137 00142 virtual const XalanNamedNodeMap* 00143 getAttributes() const; 00144 00154 virtual XalanDocument* 00155 getOwnerDocument() const; 00156 00158 00160 00179 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00180 virtual XalanNode* 00181 #else 00182 virtual XercesEntityWrapper* 00183 #endif 00184 cloneNode(bool deep) const; 00185 00187 00189 00206 virtual XalanNode* 00207 insertBefore( 00208 XalanNode* newChild, 00209 XalanNode* refChild); 00210 00224 virtual XalanNode* 00225 replaceChild( 00226 XalanNode* newChild, 00227 XalanNode* oldChild); 00228 00236 virtual XalanNode* 00237 removeChild(XalanNode* oldChild); 00238 00250 virtual XalanNode* 00251 appendChild(XalanNode* newChild); 00252 00254 00256 00264 virtual bool 00265 hasChildNodes() const; 00266 00267 00269 00271 00272 00286 virtual void 00287 setNodeValue(const XalanDOMString& nodeValue); 00288 00290 00292 00309 virtual void 00310 normalize(); 00311 00325 virtual bool 00326 isSupported( 00327 const XalanDOMString& feature, 00328 const XalanDOMString& version) const; 00329 00343 virtual const XalanDOMString& 00344 getNamespaceURI() const; 00345 00350 virtual const XalanDOMString& 00351 getPrefix() const; 00352 00360 virtual const XalanDOMString& 00361 getLocalName() const; 00362 00392 virtual void 00393 setPrefix(const XalanDOMString& prefix); 00394 00395 virtual bool 00396 isIndexed() const; 00397 00398 virtual IndexType 00399 getIndex() const; 00400 00402 00403 // These interfaces are inherited from XalanEntity... 00404 00412 virtual const XalanDOMString& 00413 getPublicId() const; 00414 00422 virtual const XalanDOMString& 00423 getSystemId() const; 00424 00430 virtual const XalanDOMString& 00431 getNotationName() const; 00432 00438 const DOMEntityType* 00439 getXercesNode() const 00440 { 00441 return m_xercesNode; 00442 } 00443 00444 private: 00445 00446 // Not implemented... 00447 XercesEntityWrapper(const XercesEntityWrapper& theSource); 00448 00449 XercesEntityWrapper& 00450 operator=(const XercesEntityWrapper& theSource); 00451 00452 bool 00453 operator==(const XercesEntityWrapper& theRHS) const; 00454 00455 // Data members... 00456 const DOMEntityType* const m_xercesNode; 00457 00458 const XercesWrapperNavigator& m_navigator; 00459 00460 XercesNodeListWrapper m_children; 00461 }; 00462 00463 00464 00465 XALAN_CPP_NAMESPACE_END 00466 00467 00468 00469 #endif // !defined(XERCESENTITYWRAPPER_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.9 |
|