Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanNode.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 #if !defined(XALANNODE_HEADER_GUARD_1357924680)
17 #define XALANNODE_HEADER_GUARD_1357924680
18 
19 
20 
22 
23 
24 
25 XALAN_CPP_NAMESPACE_BEGIN
26 
27 
28 
29 class XalanDOMString;
30 class XalanDocument;
31 class XalanNamedNodeMap;
32 class XalanNodeList;
33 
34 
35 
36 /*
37  * <meta name="usage" content="experimental"/>
38  *
39  * Base class for the DOM Node interface.
40  *
41  * This class is experimental and subject to change!!
42  */
43 
45 {
46 public:
47 
48  XalanNode();
49 
50  virtual
51  ~XalanNode();
52 
53  enum NodeType
54  {
55  UNKNOWN_NODE = 0,
56  ELEMENT_NODE = 1,
57  ATTRIBUTE_NODE = 2,
58  TEXT_NODE = 3,
59  CDATA_SECTION_NODE = 4,
60  ENTITY_REFERENCE_NODE = 5,
61  ENTITY_NODE = 6,
62  PROCESSING_INSTRUCTION_NODE = 7,
63  COMMENT_NODE = 8,
64  DOCUMENT_NODE = 9,
65  DOCUMENT_TYPE_NODE = 10,
66  DOCUMENT_FRAGMENT_NODE = 11,
67  NOTATION_NODE = 12
68  };
69 
70  typedef unsigned long IndexType;
71 
72  virtual const XalanDOMString&
73  getNodeName() const = 0;
74 
78  virtual const XalanDOMString&
79  getNodeValue() const = 0;
80 
84  virtual NodeType
85  getNodeType() const = 0;
86 
96  virtual XalanNode*
97  getParentNode() const = 0;
98 
112  virtual const XalanNodeList*
113  getChildNodes() const = 0;
114 
120  virtual XalanNode*
121  getFirstChild() const = 0;
122 
128  virtual XalanNode*
129  getLastChild() const = 0;
130 
136  virtual XalanNode*
137  getPreviousSibling() const = 0;
138 
144  virtual XalanNode*
145  getNextSibling() const = 0;
146 
151  virtual const XalanNamedNodeMap*
152  getAttributes() const = 0;
153 
163  virtual XalanDocument*
164  getOwnerDocument() const = 0;
165 
167 
169 
188  virtual XalanNode*
189  cloneNode(bool deep) const = 0;
190 
192 
194 
211  virtual XalanNode*
212  insertBefore(
213  XalanNode* newChild,
214  XalanNode* refChild) = 0;
215 
229  virtual XalanNode*
230  replaceChild(
231  XalanNode* newChild,
232  XalanNode* oldChild) = 0;
233 
241  virtual XalanNode*
242  removeChild(XalanNode* oldChild) = 0;
243 
255  virtual XalanNode*
256  appendChild(XalanNode* newChild) = 0;
257 
259 
261 
269  virtual bool
270  hasChildNodes() const = 0;
271 
272 
274 
276 
277 
291  virtual void
292  setNodeValue(const XalanDOMString& nodeValue) = 0;
293 
295 
297 
314  virtual void
315  normalize() = 0;
316 
330  virtual bool
331  isSupported(
332  const XalanDOMString& feature,
333  const XalanDOMString& version) const = 0;
334 
348  virtual const XalanDOMString&
349  getNamespaceURI() const = 0;
350 
355  virtual const XalanDOMString&
356  getPrefix() const = 0;
357 
365  virtual const XalanDOMString&
366  getLocalName() const = 0;
367 
397  virtual void
398  setPrefix(const XalanDOMString& prefix) = 0;
399 
405  virtual bool
406  isIndexed() const = 0;
407 
414  virtual IndexType
415  getIndex() const = 0;
416 
418 
419 protected:
420 
421  XalanNode(const XalanNode& theSource);
422 
423  XalanNode&
424  operator=(const XalanNode& theSource);
425 
426  bool
427  operator==(const XalanNode& theRHS) const;
428 
429 private:
430 
431 #if !defined(NDEBUG)
432  static size_t s_instanceCount;
433 #endif
434 };
435 
436 
437 
438 XALAN_CPP_NAMESPACE_END
439 
440 
441 
442 #endif // !defined(XALANNODE_HEADER_GUARD_1357924680)
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1111
Definition: XalanNode.hpp:44
Definition: XalanNodeList.hpp:42
NodeType
Definition: XalanNode.hpp:53
#define XALAN_DOM_EXPORT
Definition: XalanDOMDefinitions.hpp:35
Definition: XalanNamedNodeMap.hpp:42
Definition: XalanDocument.hpp:51
Definition: XalanDOMString.hpp:42
unsigned long IndexType
Definition: XalanNode.hpp:70

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