Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XercesDOM_NodeHack.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #if !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)
18 #define XERCESDOM_NODEHACK_HEADER_GUARD_1357924680
19 
20 
21 
23 
24 
25 
26 #if XERCES_VERSION_MAJOR >= 2
27 #include <xercesc/dom/deprecated/DOM_Node.hpp>
28 #include <xercesc/dom/deprecated/DOM_Attr.hpp>
29 #include <xercesc/dom/deprecated/DOM_Element.hpp>
30 #include <xercesc/dom/deprecated/DOM_Text.hpp>
31 #else
32 #include <xercesc/dom/DOM_Node.hpp>
33 #include <xercesc/dom/DOM_Attr.hpp>
34 #include <xercesc/dom/DOM_Element.hpp>
35 #include <xercesc/dom/DOM_Text.hpp>
36 #endif
37 
38 
39 
41 
42 
43 
44 XALAN_CPP_NAMESPACE_BEGIN
45 
46 
55 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_NodeHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node
56 {
57 public:
58 
59  typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Node ParentType;
60 
61  XercesDOM_NodeHack(NodeImplType* theImpl = 0);
62 
64 
66  getImpl() const
67  {
68  return fImpl;
69  }
70 
71  static NodeImplType*
72  getImpl(const ParentType& theNode)
73  {
74 #if defined(XALAN_OLD_STYLE_CASTS)
75  return ((const XercesDOM_NodeHack&)theNode).getImpl();
76 #else
77  return static_cast<const XercesDOM_NodeHack&>(theNode).getImpl();
78 #endif
79  }
80 };
81 
82 
83 
84 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_AttrHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr
85 {
86 public:
87 
88  typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Attr ParentType;
89 
90  XercesDOM_AttrHack(AttrImplType* theImpl = 0);
91 
92  XercesDOM_AttrHack(const ParentType& theSource);
93 
95 };
96 
97 
98 
99 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_ElementHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element
100 {
101 public:
102 
103  typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Element ParentType;
104 
106 
107  XercesDOM_ElementHack(const ParentType& theSource);
108 
110 
111 
112  const DOMStringType
113  getNodeNameImpl() const;
114 
115  const DOMStringType
116  getNodeValueImpl() const;
117 
118  const DOMStringType
119  getNamespaceURIImpl() const;
120 
121  const DOMStringType
122  getPrefixImpl() const;
123 
124  const DOMStringType
125  getLocalNameImpl() const;
126 
127  const DOMStringType
128  getTagNameImpl() const;
129 
130  const DOMStringType
131  getAttributeImpl(const DOMStringType& name) const;
132 
133  const DOMStringType
134  getAttributeNSImpl(
135  const DOMStringType& namespaceURI,
136  const DOMStringType& localName) const;
137 
139  getImpl() const
140  {
141 #if defined(XALAN_OLD_STYLE_CASTS)
142  return (ElementImplType*)fImpl;
143 #else
144  return reinterpret_cast<ElementImplType*>(fImpl);
145 #endif
146  }
147 
148  static ElementImplType*
149  getImpl(const ParentType& theNode)
150  {
151 #if defined(XALAN_OLD_STYLE_CASTS)
152  return ((const XercesDOM_ElementHack&)theNode).getImpl();
153 #else
154  return static_cast<const XercesDOM_ElementHack&>(theNode).getImpl();
155 #endif
156  }
157 };
158 
159 
160 
161 class XALAN_XERCESPARSERLIAISON_EXPORT XercesDOM_TextHack : public XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text
162 {
163 public:
164 
165  typedef XERCES_CPP_NAMESPACE_QUALIFIER DOM_Text ParentType;
166 
167  XercesDOM_TextHack(TextImplType* theImpl = 0);
168 
169  XercesDOM_TextHack(const ParentType& theSource);
170 
172 
173 
174  const DOMStringType
175  getNodeNameImpl() const;
176 
177  const DOMStringType
178  getNodeValueImpl() const;
179 
180  const DOMStringType
181  getNamespaceURIImpl() const;
182 
183  const DOMStringType
184  getPrefixImpl() const;
185 
186  const DOMStringType
187  getLocalNameImpl() const;
188 
189  const DOMStringType
190  getDataImpl() const;
191 
192  TextImplType*
193  getImpl() const
194  {
195 #if defined(XALAN_OLD_STYLE_CASTS)
196  return (TextImplType*)fImpl;
197 #else
198  return reinterpret_cast<TextImplType*>(fImpl);
199 #endif
200  }
201 
202  static TextImplType*
203  getImpl(const ParentType& theNode)
204  {
205 #if defined(XALAN_OLD_STYLE_CASTS)
206  return ((const XercesDOM_TextHack&)theNode).getImpl();
207 #else
208  return static_cast<const XercesDOM_TextHack&>(theNode).getImpl();
209 #endif
210  }
211 };
212 
213 
214 
215 XALAN_CPP_NAMESPACE_END
216 
217 
218 
219 #endif // !defined(XERCESDOM_NODEHACK_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo