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(XERCESENTITYREFERENCEWRAPPER_HEADER_GUARD_1357924680) 00017 #define XERCESENTITYREFERENCEWRAPPER_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/XalanEntityReference.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 XercesEntityReferenceWrapper : public XalanEntityReference 00045 { 00046 public: 00047 00048 XercesEntityReferenceWrapper( 00049 const DOMEntityReferenceType* theXercesDOMEntityReference, 00050 const XercesWrapperNavigator& theNavigator); 00051 00052 static XercesEntityReferenceWrapper* 00053 create( MemoryManagerType& theManager, 00054 const DOMEntityReferenceType* theXercesDOMEntityReference, 00055 const XercesWrapperNavigator& theNavigator); 00056 00057 virtual 00058 ~XercesEntityReferenceWrapper(); 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 XercesEntityReferenceWrapper* 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 00406 const DOMEntityReferenceType* 00407 getXercesNode() const 00408 { 00409 return m_xercesNode; 00410 } 00411 00413 00414 private: 00415 00416 // Not implemented... 00417 XercesEntityReferenceWrapper(const XercesEntityReferenceWrapper& theSource); 00418 00419 XercesEntityReferenceWrapper& 00420 operator=(const XercesEntityReferenceWrapper& theSource); 00421 00422 bool 00423 operator==(const XercesEntityReferenceWrapper& theRHS) const; 00424 00425 // Data members... 00426 const DOMEntityReferenceType* const m_xercesNode; 00427 00428 const XercesWrapperNavigator& m_navigator; 00429 00430 XercesNodeListWrapper m_children; 00431 }; 00432 00433 00434 00435 XALAN_CPP_NAMESPACE_END 00436 00437 00438 00439 #endif // !defined(XERCESENTITYREFERENCEWRAPPER_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 |
|