Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XercesWrapperNavigator.hpp

Go to the documentation of this file.
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(XERCESWRAPPERNAVIGATOR_HEADER_GUARD_1357924680)
00017 #define XERCESWRAPPERNAVIGATOR_HEADER_GUARD_1357924680
00018 
00019 
00020 
00021 #include <xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp>
00022 
00023 
00024 
00025 #include <cassert>
00026 
00027 
00028 
00029 #include <xercesc/util/XercesDefs.hpp>
00030 
00031 
00032 
00033 #include <xalanc/XalanDOM/XalanDOMString.hpp>
00034 #include <xalanc/XalanDOM/XalanNode.hpp>
00035 
00036 
00037 
00038 #include <xalanc/XercesParserLiaison/XercesWrapperTypes.hpp>
00039 
00040 
00041 
00042 XALAN_CPP_NAMESPACE_BEGIN
00043 
00044 
00045 
00046 class XercesDocumentWrapper;
00047 class XalanAttr;
00048 class XalanElement;
00049 class XalanText;
00050 
00051 
00052 
00053 class XALAN_XERCESPARSERLIAISON_EXPORT XercesWrapperNavigator
00054 {
00055 public:
00056 
00057     typedef XalanNode::IndexType    IndexType;
00058 
00059     explicit
00060     XercesWrapperNavigator(XercesDocumentWrapper*   theOwnerDocument = 0);
00061 
00062     XercesWrapperNavigator(const XercesWrapperNavigator&    theSource);
00063 
00064     virtual
00065     ~XercesWrapperNavigator();
00066 
00067 
00068     XercesDocumentWrapper*
00069     getOwnerDocument() const
00070     {
00071         return m_ownerDocument;
00072     }
00073 
00074     void
00075     setOwnerDocument(XercesDocumentWrapper*     theDocument)
00076     {
00077         m_ownerDocument = theDocument;
00078     }
00079 
00080     XalanNode*
00081     mapNode(const DOMNodeType*  theXercesNode) const;
00082 
00083     XalanAttr*
00084     mapNode(const DOMAttrType*  theXercesNode) const;
00085 
00086     const DOMNodeType*
00087     mapNode(XalanNode*  theXalanNode) const;
00088 
00089     IndexType
00090     getIndex() const
00091     {
00092         return m_index;
00093     }
00094 
00095     void
00096     setIndex(IndexType  theIndex)
00097     {
00098         m_index = theIndex;
00099     }
00100 
00101     XalanNode*
00102     getParentNode(const DOMNodeType*    theXercesNode) const;
00103 
00104     XalanNode*
00105     getParentNode() const
00106     {
00107         return m_parentNode;
00108     }
00109 
00110     void
00111     setParentNode(XalanNode*    theParent)
00112     {
00113         m_parentNode = theParent;
00114     }
00115 
00116     XalanNode*
00117     getPreviousSibling(const DOMNodeType*   theXercesNode) const;
00118 
00119     XalanNode*
00120     getPreviousSibling() const
00121     {
00122         return m_previousSibling;
00123     }
00124 
00125     void
00126     setPreviousSibling(XalanNode*   thePreviousSibling)
00127     {
00128         m_previousSibling = thePreviousSibling;
00129     }
00130 
00131     XalanNode*
00132     getNextSibling(const DOMNodeType*   theXercesNode) const;
00133 
00134     XalanNode*
00135     getNextSibling() const
00136     {
00137         return m_nextSibling;
00138     }
00139 
00140     void
00141     setNextSibling(XalanNode*   theNextSibling)
00142     {
00143         m_nextSibling = theNextSibling;
00144     }
00145 
00146     XalanNode*
00147     getFirstChild(const DOMNodeType*    theXercesNode) const;
00148 
00149     XalanNode*
00150     getFirstChild() const
00151     {
00152         return m_firstChild;
00153     }
00154 
00155     void
00156     setFirstChild(XalanNode*    theFirstChild)
00157     {
00158         m_firstChild = theFirstChild;
00159     }
00160 
00161     XalanNode*
00162     getLastChild(const DOMNodeType*     theXercesNode) const;
00163 
00164     XalanNode*
00165     getLastChild() const
00166     {
00167         return m_lastChild;
00168     }
00169 
00170     void
00171     setLastChild(XalanNode* theLastChild)
00172     {
00173         m_lastChild = theLastChild;
00174     }
00175 
00176     XalanElement*
00177     getOwnerElement(const DOMAttrType*  theXercesAttr) const;
00178 
00186     const XalanDOMString&
00187     getPooledString(const XMLCh*    theString) const;
00188 
00189 private:
00190 
00191     // Not implemented...
00192     bool
00193     operator==(const XercesWrapperNavigator&    theRHS) const;
00194 
00195     // Data members...
00196     XercesDocumentWrapper*  m_ownerDocument;
00197 
00198     XalanNode*              m_parentNode;
00199 
00200     XalanNode*              m_previousSibling;
00201 
00202     XalanNode*              m_nextSibling;
00203 
00204     XalanNode*              m_firstChild;
00205 
00206     XalanNode*              m_lastChild;
00207 
00208     IndexType               m_index;
00209 
00210     static const XalanDOMString     s_emptyString;
00211 };
00212 
00213 
00214 
00215 XALAN_CPP_NAMESPACE_END
00216 
00217 
00218 
00219 #endif  // !defined(XERCESWRAPPERNAVIGATOR_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