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(XERCESDOCUMENTTYPEWRAPPER_HEADER_GUARD_1357924680) 00017 #define XERCESDOCUMENTTYPEWRAPPER_HEADER_GUARD_1357924680 00018 00019 00020 00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00022 00023 00024 00025 #include <xalanc/XalanDOM/XalanDocumentType.hpp> 00026 00027 #include <xalanc/Include/XalanMemMgrAutoPtr.hpp> 00028 00029 #include <xalanc/XercesParserLiaison/XercesNamedNodeMapWrapper.hpp> 00030 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp> 00031 00032 00033 00034 XALAN_CPP_NAMESPACE_BEGIN 00035 00036 00037 00038 class XercesWrapperNavigator; 00039 class XercesDocumentWrapper; 00040 00041 00042 00043 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDocumentTypeWrapper : public XalanDocumentType 00044 { 00045 public: 00046 00047 XercesDocumentTypeWrapper( 00048 const DOMDocumentType_Type* theXercesDOMDocumentType, 00049 const XercesWrapperNavigator& theNavigator); 00050 00051 static XercesDocumentTypeWrapper* 00052 create( MemoryManagerType& theManager, 00053 const DOMDocumentType_Type* theXercesDOMDocumentType, 00054 const XercesWrapperNavigator& theNavigator); 00055 00056 virtual 00057 ~XercesDocumentTypeWrapper(); 00058 00059 00060 // These interfaces are inherited from XalanNode... 00061 00062 virtual const XalanDOMString& 00063 getNodeName() const; 00064 00068 virtual const XalanDOMString& 00069 getNodeValue() const; 00070 00074 virtual NodeType 00075 getNodeType() const; 00076 00086 virtual XalanNode* 00087 getParentNode() const; 00088 00102 virtual const XalanNodeList* 00103 getChildNodes() const; 00104 00110 virtual XalanNode* 00111 getFirstChild() const; 00112 00118 virtual XalanNode* 00119 getLastChild() const; 00120 00126 virtual XalanNode* 00127 getPreviousSibling() const; 00128 00134 virtual XalanNode* 00135 getNextSibling() const; 00136 00141 virtual const XalanNamedNodeMap* 00142 getAttributes() const; 00143 00153 virtual XalanDocument* 00154 getOwnerDocument() const; 00155 00157 00159 00178 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE) 00179 virtual XalanNode* 00180 #else 00181 virtual XercesDocumentTypeWrapper* 00182 #endif 00183 cloneNode(bool deep) const; 00184 00186 00188 00205 virtual XalanNode* 00206 insertBefore( 00207 XalanNode* newChild, 00208 XalanNode* refChild); 00209 00223 virtual XalanNode* 00224 replaceChild( 00225 XalanNode* newChild, 00226 XalanNode* oldChild); 00227 00235 virtual XalanNode* 00236 removeChild(XalanNode* oldChild); 00237 00249 virtual XalanNode* 00250 appendChild(XalanNode* newChild); 00251 00253 00255 00263 virtual bool 00264 hasChildNodes() const; 00265 00266 00268 00270 00271 00285 virtual void 00286 setNodeValue(const XalanDOMString& nodeValue); 00287 00289 00291 00308 virtual void 00309 normalize(); 00310 00324 virtual bool 00325 isSupported( 00326 const XalanDOMString& feature, 00327 const XalanDOMString& version) const; 00328 00342 virtual const XalanDOMString& 00343 getNamespaceURI() const; 00344 00349 virtual const XalanDOMString& 00350 getPrefix() const; 00351 00359 virtual const XalanDOMString& 00360 getLocalName() const; 00361 00391 virtual void 00392 setPrefix(const XalanDOMString& prefix); 00393 00394 virtual bool 00395 isIndexed() const; 00396 00397 virtual IndexType 00398 getIndex() const; 00399 00401 00402 // These interfaces are inherited from XalanDocumentType... 00403 00406 00411 virtual const XalanDOMString& 00412 getName() const; 00413 00419 virtual const XalanNamedNodeMap* 00420 getEntities() const; 00421 00426 virtual const XalanNamedNodeMap* 00427 getNotations() const; 00429 00432 00436 virtual const XalanDOMString& 00437 getPublicId() const; 00438 00443 virtual const XalanDOMString& 00444 getSystemId() const; 00445 00450 virtual const XalanDOMString& 00451 getInternalSubset() const; 00452 00458 const DOMDocumentType_Type* 00459 getXercesNode() const 00460 { 00461 return m_xercesNode; 00462 } 00463 00465 00466 private: 00467 00468 // Not implemented... 00469 XercesDocumentTypeWrapper(const XercesDocumentTypeWrapper& theSource); 00470 00471 XercesDocumentTypeWrapper& 00472 operator=(const XercesDocumentTypeWrapper& theSource); 00473 00474 bool 00475 operator==(const XercesDocumentTypeWrapper& theRHS) const; 00476 00477 // Data members... 00478 const DOMDocumentType_Type* const m_xercesNode; 00479 00480 XercesNamedNodeMapWrapper m_entities; 00481 00482 XercesNamedNodeMapWrapper m_notations; 00483 00484 const XercesWrapperNavigator& m_navigator; 00485 }; 00486 00487 00488 00489 XALAN_CPP_NAMESPACE_END 00490 00491 00492 00493 #endif // !defined(XERCESDOCUMENTTYPEWRAPPER_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 |
|