Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XercesBridgeNavigator.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(XERCESBRIDGENAVIGATOR_HEADER_GUARD_1357924680)
17 #define XERCESBRIDGENAVIGATOR_HEADER_GUARD_1357924680
18 
19 
20 
22 
23 
24 
25 #include <cassert>
26 
27 
28 
31 
32 
33 
35 
36 
37 
38 XALAN_CPP_NAMESPACE_BEGIN
39 
40 
41 
43 class XalanAttr;
44 class XalanElement;
45 class XalanText;
46 
47 
54 {
55 public:
56 
58 
59  explicit
61  XercesDocumentBridge* theOwnerDocument = 0,
62  bool mappingMode = true);
63 
65 
66  virtual
68 
69 
72  {
73  return m_ownerDocument;
74  }
75 
76  void
78  {
79  m_ownerDocument = theDocument;
80  }
81 
82  XalanNode*
83  mapNode(const DOM_NodeType& theXercesNode) const;
84 
85  XalanAttr*
86  mapNode(const DOM_AttrType& theXercesNode) const;
87 
89  mapNode(const XalanNode* theXalanNode) const;
90 
92  mapNode(const XalanAttr* theXercesNode) const;
93 
94  IndexType
95  getIndex() const
96  {
97  return m_index;
98  }
99 
100  void
101  setIndex(IndexType theIndex)
102  {
103  m_index = theIndex;
104  }
105 
106  XalanNode*
107  getParentNode(const DOM_NodeType& theXercesNode) const;
108 
109  XalanNode*
111  {
112  return m_parentNode;
113  }
114 
115  void
117  {
118  m_parentNode = theParent;
119  }
120 
121  XalanNode*
122  getPreviousSibling(const DOM_NodeType& theXercesNode) const;
123 
124  XalanNode*
126  {
127  return m_previousSibling;
128  }
129 
130  void
131  setPreviousSibling(XalanNode* thePreviousSibling)
132  {
133  m_previousSibling = thePreviousSibling;
134  }
135 
136  XalanNode*
137  getNextSibling(const DOM_NodeType& theXercesNode) const;
138 
139  XalanNode*
141  {
142  return m_nextSibling;
143  }
144 
145  void
146  setNextSibling(XalanNode* theNextSibling)
147  {
148  m_nextSibling = theNextSibling;
149  }
150 
151  XalanNode*
152  getFirstChild(const DOM_NodeType& theXercesNode) const;
153 
154  XalanNode*
156  {
157  return m_firstChild;
158  }
159 
160  void
161  setFirstChild(XalanNode* theFirstChild)
162  {
163  m_firstChild = theFirstChild;
164  }
165 
166  XalanNode*
167  getLastChild(const DOM_NodeType& theXercesNode) const;
168 
169  XalanNode*
170  getLastChild() const
171  {
172  return m_lastChild;
173  }
174 
175  void
176  setLastChild(XalanNode* theLastChild)
177  {
178  m_lastChild = theLastChild;
179  }
180 
181  XalanNode*
182  insertBefore(
183  DOM_NodeType& theXercesParent,
184  XalanNode* newChild,
185  XalanNode* refChild) const;
186 
187  XalanNode*
188  replaceChild(
189  DOM_NodeType& theXercesParent,
190  XalanNode* newChild,
191  XalanNode* oldChild) const;
192 
193  XalanNode*
194  removeChild(
195  DOM_NodeType& theXercesParent,
196  XalanNode* oldChild) const;
197 
198  XalanNode*
199  appendChild(
200  DOM_NodeType& theXercesParent,
201  XalanNode* newChild) const;
202 
203  XalanElement*
204  getOwnerElement(const DOM_AttrType& theXercesAttr) const;
205 
206  XalanNode*
207  cloneNode(
208  const XalanNode* theXalanNode,
209  const DOM_NodeType& theXercesNode,
210  bool deep) const;
211 
212  XalanText*
213  splitText(
214  DOM_TextType& theXercesText,
215  unsigned int offset) const;
216 
224  const XalanDOMString&
225  getPooledString(const DOMStringType& theString) const;
226 
227 private:
228 
229  // Not implemented...
230  bool
231  operator==(const XercesBridgeNavigator& theRHS) const;
232 
233  // Data members...
234  XercesDocumentBridge* m_ownerDocument;
235 
236  mutable XalanNode* m_parentNode;
237 
238  mutable XalanNode* m_previousSibling;
239 
240  mutable XalanNode* m_nextSibling;
241 
242  mutable XalanNode* m_firstChild;
243 
244  mutable XalanNode* m_lastChild;
245 
246  IndexType m_index;
247 };
248 
249 
250 
251 XALAN_CPP_NAMESPACE_END
252 
253 
254 
255 #endif // !defined(XERCESBRIDGENAVIGATOR_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