00001 /* 00002 * Licensed to the Apache Software Foundation (ASF) under one 00003 * or more contributor license agreements. See the NOTICE file 00004 * distributed with this work for additional information 00005 * regarding copyright ownership. The ASF licenses this file 00006 * to you under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 00019 #if !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680) 00020 #define XERCESDOM_NODEHACK_HEADER_GUARD_1357924680 00021 00022 00023 00024 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp> 00025 00026 00027 00028 #if XERCES_VERSION_MAJOR >= 2 00029 #include <xercesc/dom/deprecated/DOM_Node.hpp> 00030 #include <xercesc/dom/deprecated/DOM_Attr.hpp> 00031 #include <xercesc/dom/deprecated/DOM_Element.hpp> 00032 #include <xercesc/dom/deprecated/DOM_Text.hpp> 00033 #else 00034 #include <xercesc/dom/DOM_Node.hpp> 00035 #include <xercesc/dom/DOM_Attr.hpp> 00036 #include <xercesc/dom/DOM_Element.hpp> 00037 #include <xercesc/dom/DOM_Text.hpp> 00038 #endif 00039 00040 00041 00042 #include <xalanc/XercesParserLiaison/Deprecated/XercesBridgeTypes.hpp> 00043 00044 00045 00046 XALAN_CPP_NAMESPACE_BEGIN 00047 00048 00049 /** 00050 * This class is deprecated. 00051 * 00052 * An evil class to hack the Xerces smart-pointer class. I'm 00053 * only doing this because I have to... 00054 * 00055 * @deprecated This class is part of the deprecated Xerces DOM bridge. 00056 */ 00057 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_NodeHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node 00058 { 00059 public: 00060 00061 typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node ParentType; 00062 00063 XercesDOM_NodeHack(NodeImplType* theImpl = 0); 00064 00065 ~XercesDOM_NodeHack(); 00066 00067 NodeImplType* 00068 getImpl() const 00069 { 00070 return fImpl; 00071 } 00072 00073 static NodeImplType* 00074 getImpl(const ParentType& theNode) 00075 { 00076 return static_cast<const XercesDOM_NodeHack&>(theNode).getImpl(); 00077 } 00078 }; 00079 00080 00081 00082 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_AttrHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr 00083 { 00084 public: 00085 00086 typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr ParentType; 00087 00088 XercesDOM_AttrHack(AttrImplType* theImpl = 0); 00089 00090 XercesDOM_AttrHack(const ParentType& theSource); 00091 00092 ~XercesDOM_AttrHack(); 00093 }; 00094 00095 00096 00097 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_ElementHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element 00098 { 00099 public: 00100 00101 typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element ParentType; 00102 00103 XercesDOM_ElementHack(ElementImplType* theImpl = 0); 00104 00105 XercesDOM_ElementHack(const ParentType& theSource); 00106 00107 ~XercesDOM_ElementHack(); 00108 00109 00110 const DOMStringType 00111 getNodeNameImpl() const; 00112 00113 const DOMStringType 00114 getNodeValueImpl() const; 00115 00116 const DOMStringType 00117 getNamespaceURIImpl() const; 00118 00119 const DOMStringType 00120 getPrefixImpl() const; 00121 00122 const DOMStringType 00123 getLocalNameImpl() const; 00124 00125 const DOMStringType 00126 getTagNameImpl() const; 00127 00128 const DOMStringType 00129 getAttributeImpl(const DOMStringType& name) const; 00130 00131 const DOMStringType 00132 getAttributeNSImpl( 00133 const DOMStringType& namespaceURI, 00134 const DOMStringType& localName) const; 00135 00136 ElementImplType* 00137 getImpl() const 00138 { 00139 return reinterpret_cast<ElementImplType*>(fImpl); 00140 } 00141 00142 static ElementImplType* 00143 getImpl(const ParentType& theNode) 00144 { 00145 return static_cast<const XercesDOM_ElementHack&>(theNode).getImpl(); 00146 } 00147 }; 00148 00149 00150 00151 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_TextHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text 00152 { 00153 public: 00154 00155 typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text ParentType; 00156 00157 XercesDOM_TextHack(TextImplType* theImpl = 0); 00158 00159 XercesDOM_TextHack(const ParentType& theSource); 00160 00161 ~XercesDOM_TextHack(); 00162 00163 00164 const DOMStringType 00165 getNodeNameImpl() const; 00166 00167 const DOMStringType 00168 getNodeValueImpl() const; 00169 00170 const DOMStringType 00171 getNamespaceURIImpl() const; 00172 00173 const DOMStringType 00174 getPrefixImpl() const; 00175 00176 const DOMStringType 00177 getLocalNameImpl() const; 00178 00179 const DOMStringType 00180 getDataImpl() const; 00181 00182 TextImplType* 00183 getImpl() const 00184 { 00185 return reinterpret_cast<TextImplType*>(fImpl); 00186 } 00187 00188 static TextImplType* 00189 getImpl(const ParentType& theNode) 00190 { 00191 return static_cast<const XercesDOM_TextHack&>(theNode).getImpl(); 00192 } 00193 }; 00194 00195 00196 00197 XALAN_CPP_NAMESPACE_END 00198 00199 00200 00201 #endif // !defined(XERCESDOM_NODEHACK_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.11 |
|