blob: afd5f071b0f16105c17ec96e1b6b236b99181926 [file] [log] [blame]
<HTML><HEAD><TITLE>Xalan-C++ API Documentation</TITLE></HEAD>
<BODY>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center">The Xalan C++ XSLT Processor Version 1.10</h3>
</BODY>
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>XercesDocumentWrapper.hpp</h1><a href="XercesDocumentWrapper_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">/*</font>
00002 <font class="comment"> * Copyright 1999-2004 The Apache Software Foundation.</font>
00003 <font class="comment"> *</font>
00004 <font class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</font>
00005 <font class="comment"> * you may not use this file except in compliance with the License.</font>
00006 <font class="comment"> * You may obtain a copy of the License at</font>
00007 <font class="comment"> *</font>
00008 <font class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</font>
00009 <font class="comment"> *</font>
00010 <font class="comment"> * Unless required by applicable law or agreed to in writing, software</font>
00011 <font class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</font>
00012 <font class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</font>
00013 <font class="comment"> * See the License for the specific language governing permissions and</font>
00014 <font class="comment"> * limitations under the License.</font>
00015 <font class="comment"> */</font>
00016 <font class="preprocessor">#if !defined(XERCESDOCUMENTWRAPPER_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="XercesDocumentWrapper_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XERCESDOCUMENTWRAPPER_HEADER_GUARD_1357924680</font>
00018 <font class="preprocessor"></font>
00019
00020
00021 <font class="preprocessor">#include &lt;<a class="code" href="XercesParserLiaisonDefinitions_8hpp.html">xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp</a>&gt;</font>
00022
00023
00024
00025 <font class="preprocessor">#include &lt;<a class="code" href="XalanVector_8hpp.html">xalanc/Include/XalanVector.hpp</a>&gt;</font>
00026
00027
00028
00029 <font class="preprocessor">#include &lt;<a class="code" href="XalanDocument_8hpp.html">xalanc/XalanDOM/XalanDocument.hpp</a>&gt;</font>
00030
00031
00032
00033 <font class="preprocessor">#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)</font>
00034 <font class="preprocessor"></font><font class="preprocessor">#include &lt;<a class="code" href="XalanDOMImplementation_8hpp.html">xalanc/XalanDOM/XalanDOMImplementation.hpp</a>&gt;</font>
00035 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMStringPool_8hpp.html">xalanc/PlatformSupport/XalanDOMStringPool.hpp</a>&gt;</font>
00036 <font class="preprocessor">#endif</font>
00037 <font class="preprocessor"></font>
00038
00039
00040 <font class="preprocessor">#include &lt;<a class="code" href="XalanMemMgrAutoPtr_8hpp.html">xalanc/Include/XalanMemMgrAutoPtr.hpp</a>&gt;</font>
00041
00042
00043
00044 <font class="preprocessor">#include &lt;<a class="code" href="XercesDOMWalker_8hpp.html">xalanc/XercesParserLiaison/XercesDOMWalker.hpp</a>&gt;</font>
00045 <font class="preprocessor">#include &lt;<a class="code" href="XercesWrapperNavigator_8hpp.html">xalanc/XercesParserLiaison/XercesWrapperNavigator.hpp</a>&gt;</font>
00046
00047
00048 <font class="preprocessor">#include &lt;<a class="code" href="XercesWrapperToXalanNodeMap_8hpp.html">xalanc/XercesParserLiaison/XercesWrapperToXalanNodeMap.hpp</a>&gt;</font>
00049 <font class="preprocessor">#include &lt;<a class="code" href="XercesNodeListWrapper_8hpp.html">xalanc/XercesParserLiaison/XercesNodeListWrapper.hpp</a>&gt;</font>
00050 <font class="preprocessor">#include &lt;<a class="code" href="XercesAttrWrapperAllocator_8hpp.html">xalanc/XercesParserLiaison/XercesAttrWrapperAllocator.hpp</a>&gt;</font>
00051 <font class="preprocessor">#include &lt;<a class="code" href="XercesElementWrapperAllocator_8hpp.html">xalanc/XercesParserLiaison/XercesElementWrapperAllocator.hpp</a>&gt;</font>
00052 <font class="preprocessor">#include &lt;<a class="code" href="XercesTextWrapperAllocator_8hpp.html">xalanc/XercesParserLiaison/XercesTextWrapperAllocator.hpp</a>&gt;</font>
00053 <font class="preprocessor">#include &lt;<a class="code" href="XercesWrapperNavigatorAllocator_8hpp.html">xalanc/XercesParserLiaison/XercesWrapperNavigatorAllocator.hpp</a>&gt;</font>
00054
00055
00056 <font class="preprocessor">#include &lt;<a class="code" href="XercesWrapperTypes_8hpp.html">xalanc/XercesParserLiaison/XercesWrapperTypes.hpp</a>&gt;</font>
00057
00058
00059
00060 XALAN_CPP_NAMESPACE_BEGIN
00061
00062
00063
00064 <font class="keyword">class </font><a class="code" href="classXalanDOMStringPool.html">XalanDOMStringPool</a>;
00065 <font class="keyword">class </font><a class="code" href="classXercesCommentWrapper.html">XercesCommentWrapper</a>;
00066 <font class="keyword">class </font><a class="code" href="classXercesCDATASectionWrapper.html">XercesCDATASectionWrapper</a>;
00067 <font class="keyword">class </font>XercesDocumentFragmentWrapper;
00068 <font class="keyword">class </font><a class="code" href="classXercesDocumentTypeWrapper.html">XercesDocumentTypeWrapper</a>;
00069 <font class="keyword">class </font><a class="code" href="classXercesEntityWrapper.html">XercesEntityWrapper</a>;
00070 <font class="keyword">class </font><a class="code" href="classXercesEntityReferenceWrapper.html">XercesEntityReferenceWrapper</a>;
00071 <font class="keyword">class </font><a class="code" href="classXercesProcessingInstructionWrapper.html">XercesProcessingInstructionWrapper</a>;
00072 <font class="keyword">class </font><a class="code" href="classXercesNotationWrapper.html">XercesNotationWrapper</a>;
00073
00074
00075
<a name="l00076"></a><a class="code" href="classXercesDocumentWrapper.html">00076</a> <font class="keyword">class </font>XALAN_XERCESPARSERLIAISON_EXPORT <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> : <font class="keyword">public</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>
00077 {
00078 <font class="keyword">public</font>:
00079
<a name="l00080"></a><a class="code" href="classXercesDocumentWrapper.html#l0">00080</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>;
00081
00098 <a class="code" href="XercesWrapperNavigator_8hpp.html#a1">XercesDocumentWrapper</a>(
00099 MemoryManagerType&amp; theManager,
00100 <font class="keyword">const</font> DOMDocument_Type* theXercesDocument,
00101 <font class="keywordtype">bool</font> threadSafe = <font class="keyword">true</font>,
00102 <font class="keywordtype">bool</font> buildWrapper = <font class="keyword">true</font>,
00103 <font class="keywordtype">bool</font> buildMaps = <font class="keyword">false</font>);
00104
00105 <font class="keyword">static</font> <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>*
00106 <a class="code" href="classXercesDocumentWrapper.html#d0">create</a>(
00107 MemoryManagerType&amp; theManager,
00108 <font class="keyword">const</font> DOMDocument_Type* theXercesDocument,
00109 <font class="keywordtype">bool</font> threadSafe,
00110 <font class="keywordtype">bool</font> buildWrapper,
00111 <font class="keywordtype">bool</font> buildMaps);
00112
00113 MemoryManagerType&amp;
<a name="l00114"></a><a class="code" href="classXercesDocumentWrapper.html#a1">00114</a> <a class="code" href="classXercesDocumentWrapper.html#a1">getMemoryManager</a>()<font class="keyword"> const</font>
00115 <font class="keyword"> </font>{
00116 <font class="keywordflow">return</font> m_nodeMap.<a class="code" href="classXercesWrapperToXalanNodeMap.html#a2">getMemoryManager</a>();
00117 }
00118
00119 <font class="keyword">virtual</font>
00120 <a class="code" href="classXercesDocumentWrapper.html#a2">~XercesDocumentWrapper</a>();
00121
00122 <font class="comment">// These interfaces are inherited from XalanNode...</font>
00123
00124 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00125 <a class="code" href="classXalanDocument.html#a2">getNodeName</a>() <font class="keyword">const</font>;
00126
00127 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00128 <a class="code" href="classXalanDocument.html#a3">getNodeValue</a>() <font class="keyword">const</font>;
00129
00130 <font class="keyword">virtual</font> NodeType
00131 <a class="code" href="classXalanDocument.html#a4">getNodeType</a>() <font class="keyword">const</font>;
00132
00133 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00134 <a class="code" href="classXalanDocument.html#a5">getParentNode</a>() <font class="keyword">const</font>;
00135
00136 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00137 <a class="code" href="classXalanDocument.html#a6">getChildNodes</a>() <font class="keyword">const</font>;
00138
00139 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00140 <a class="code" href="classXalanDocument.html#a7">getFirstChild</a>() <font class="keyword">const</font>;
00141
00142 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00143 <a class="code" href="classXalanDocument.html#a8">getLastChild</a>() <font class="keyword">const</font>;
00144
00145 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00146 <a class="code" href="classXalanDocument.html#a9">getPreviousSibling</a>() <font class="keyword">const</font>;
00147
00148 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00149 <a class="code" href="classXalanDocument.html#a10">getNextSibling</a>() <font class="keyword">const</font>;
00150
00151 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>*
00152 <a class="code" href="classXalanDocument.html#a11">getAttributes</a>() <font class="keyword">const</font>;
00153
00154 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>*
00155 <a class="code" href="classXalanDocument.html#a12">getOwnerDocument</a>() <font class="keyword">const</font>;
00156
00157 <font class="preprocessor">#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)</font>
00158 <font class="preprocessor"></font> <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00159 <font class="preprocessor">#else</font>
00160 <font class="preprocessor"></font> <font class="keyword">virtual</font> <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>*
00161 <font class="preprocessor">#endif</font>
00162 <font class="preprocessor"></font> <a class="code" href="classXalanDocument.html#a13">cloneNode</a>(<font class="keywordtype">bool</font> deep) <font class="keyword">const</font>;
00163
00164 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00165 <a class="code" href="classXalanDocument.html#a14">insertBefore</a>(
00166 <a class="code" href="classXalanNode.html">XalanNode</a>* newChild,
00167 <a class="code" href="classXalanNode.html">XalanNode</a>* refChild);
00168
00169 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00170 <a class="code" href="classXalanDocument.html#a15">replaceChild</a>(
00171 <a class="code" href="classXalanNode.html">XalanNode</a>* newChild,
00172 <a class="code" href="classXalanNode.html">XalanNode</a>* oldChild);
00173
00174 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00175 <a class="code" href="classXalanDocument.html#a16">removeChild</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* oldChild);
00176
00177 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00178 <a class="code" href="classXalanDocument.html#a17">appendChild</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* newChild);
00179
00180 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00181 <a class="code" href="classXalanDocument.html#a18">hasChildNodes</a>() <font class="keyword">const</font>;
00182
00183 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00184 <a class="code" href="classXalanDocument.html#a19">setNodeValue</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; nodeValue);
00185
00186 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00187 <a class="code" href="classXalanDocument.html#a20">normalize</a>();
00188
00189 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00190 <a class="code" href="classXalanDocument.html#a21">isSupported</a>(
00191 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; feature,
00192 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; version) <font class="keyword">const</font>;
00193
00194 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00195 <a class="code" href="classXalanDocument.html#a22">getNamespaceURI</a>() <font class="keyword">const</font>;
00196
00197 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00198 <a class="code" href="classXalanDocument.html#a23">getPrefix</a>() <font class="keyword">const</font>;
00199
00200 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00201 <a class="code" href="classXalanDocument.html#a24">getLocalName</a>() <font class="keyword">const</font>;
00202
00203 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00204 <a class="code" href="classXalanDocument.html#a25">setPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; prefix);
00205
00206 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00207 <a class="code" href="classXalanDocument.html#a26">isIndexed</a>() <font class="keyword">const</font>;
00208
00209 <font class="keyword">virtual</font> IndexType
00210 <a class="code" href="classXalanDocument.html#a27">getIndex</a>() <font class="keyword">const</font>;
00211
00212 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00213 <a class="code" href="classXalanDocument.html#a28">createElement</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; tagName);
00214
00215 <font class="keyword">virtual</font> <a class="code" href="classXalanDocumentFragment.html">XalanDocumentFragment</a>*
00216 <a class="code" href="classXalanDocument.html#a29">createDocumentFragment</a>();
00217
00218 <font class="keyword">virtual</font> <a class="code" href="classXalanText.html">XalanText</a>*
00219 <a class="code" href="classXalanDocument.html#a30">createTextNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00220
00221 <font class="keyword">virtual</font> <a class="code" href="classXalanComment.html">XalanComment</a>*
00222 <a class="code" href="classXalanDocument.html#a31">createComment</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00223
00224 <font class="keyword">virtual</font> <a class="code" href="classXalanCDATASection.html">XalanCDATASection</a>*
00225 <a class="code" href="classXalanDocument.html#a32">createCDATASection</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00226
00227 <font class="keyword">virtual</font> <a class="code" href="classXalanProcessingInstruction.html">XalanProcessingInstruction</a>*
00228 <a class="code" href="classXalanDocument.html#a33">createProcessingInstruction</a>(
00229 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; target,
00230 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00231
00232 <font class="keyword">virtual</font> <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00233 <a class="code" href="classXalanDocument.html#a34">createAttribute</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; name);
00234
00235 <font class="keyword">virtual</font> <a class="code" href="classXalanEntityReference.html">XalanEntityReference</a>*
00236 <a class="code" href="classXalanDocument.html#a35">createEntityReference</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; name);
00237
00238 <font class="keyword">virtual</font> <a class="code" href="classXalanDocumentType.html">XalanDocumentType</a>*
00239 <a class="code" href="classXalanDocument.html#a36">getDoctype</a>() <font class="keyword">const</font>;
00240
00241 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMImplementation.html">XalanDOMImplementation</a>*
00242 <a class="code" href="classXalanDocument.html#a37">getImplementation</a>() <font class="keyword">const</font>;
00243
00244 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00245 <a class="code" href="classXalanDocument.html#a38">getDocumentElement</a>() <font class="keyword">const</font>;
00246
00247 <font class="keyword">virtual</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00248 <a class="code" href="classXalanDocument.html#a39">getElementsByTagName</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; tagname) <font class="keyword">const</font>;
00249
00250 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00251 <a class="code" href="classXalanDocument.html#a40">importNode</a>(
00252 <a class="code" href="classXalanNode.html">XalanNode</a>* importedNode,
00253 <font class="keywordtype">bool</font> deep);
00254
00255 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00256 <a class="code" href="classXalanDocument.html#a41">createElementNS</a>(
00257 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00258 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; qualifiedName);
00259
00260 <font class="keyword">virtual</font> <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00261 <a class="code" href="classXalanDocument.html#a42">createAttributeNS</a>(
00262 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00263 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; qualifiedName);
00264
00265 <font class="keyword">virtual</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00266 <a class="code" href="classXalanDocument.html#a43">getElementsByTagNameNS</a>(
00267 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00268 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; localName) <font class="keyword">const</font>;
00269
00270 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00271 <a class="code" href="classXalanDocument.html#a44">getElementById</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; elementId) <font class="keyword">const</font>;
00272
00273 <font class="comment">// These are some special interfaces to manage relationships between</font>
00274 <font class="comment">// our nodes and Xerces nodes.</font>
00275
00283 <font class="keywordtype">void</font>
00284 <a class="code" href="classXercesDocumentWrapper.html#a46">destroyWrapper</a>();
00285
00292 <font class="keywordtype">void</font>
00293 <a class="code" href="classXercesDocumentWrapper.html#a47">rebuildWrapper</a>();
00294
00305 <a class="code" href="classXalanNode.html">XalanNode</a>*
00306 <a class="code" href="classXercesDocumentWrapper.html#a48">mapNode</a>(<font class="keyword">const</font> DOMNodeType* theXercesNode) <font class="keyword">const</font>;
00307
00318 <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00319 <a class="code" href="classXercesDocumentWrapper.html#a48">mapNode</a>(<font class="keyword">const</font> DOMAttrType* theXercesNode) <font class="keyword">const</font>;
00320
00331 <a class="code" href="classXalanElement.html">XalanElement</a>*
00332 <a class="code" href="classXercesDocumentWrapper.html#a48">mapNode</a>(<font class="keyword">const</font> DOMElementType* theXercesNode) <font class="keyword">const</font>;
00333
00344 <font class="keyword">const</font> DOMNodeType*
00345 <a class="code" href="classXercesDocumentWrapper.html#a48">mapNode</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* theXalanNode) <font class="keyword">const</font>;
00346
00354 <font class="keyword">const</font> DOMDocument_Type*
<a name="l00355"></a><a class="code" href="classXercesDocumentWrapper.html#a52">00355</a> <a class="code" href="classXercesDocumentWrapper.html#a52">getXercesDocument</a>()<font class="keyword"> const</font>
00356 <font class="keyword"> </font>{
00357 <font class="keywordflow">return</font> m_xercesDocument;
00358 }
00359
00365 <font class="keywordtype">void</font>
00366 <a class="code" href="classXercesDocumentWrapper.html#a53">buildWrapperNodes</a>();
00367
<a name="l00368"></a><a class="code" href="classXercesDocumentWrapper.html#s0">00368</a> <font class="keyword">typedef</font> XalanVector&lt;XalanNode*&gt; NodeVectorType;
00369
00370 <font class="comment">// Helper class to walk the tree and build everything...</font>
<a name="l00371"></a><a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html">00371</a> <font class="keyword">class </font>BuildWrapperTreeWalker : <font class="keyword">public</font> <a class="code" href="classXercesDOMWalker.html">XercesDOMWalker</a>
00372 {
00373 <font class="keyword">public</font>:
00374
<a name="l00375"></a><a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#s0">00375</a> <font class="keyword">typedef</font> <a class="code" href="classXercesDOMWalker.html">XercesDOMWalker</a> ParentType;
00376
00377 <a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#a0">BuildWrapperTreeWalker</a>(
00378 <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>* theDocument,
00379 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>* theDocumentNavigator,
00380 IndexType theStartIndex,
00381 <font class="keywordtype">bool</font> theBuildMapsFlag);
00382
00383 <font class="keyword">virtual</font>
00384 <a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#a1">~BuildWrapperTreeWalker</a>();
00385
<a name="l00386"></a><a class="code" href="structXercesDocumentWrapper_1_1BuildWrapperTreeWalker_1_1NavigatorStackEntryType.html">00386</a> <font class="keyword">struct </font>NavigatorStackEntryType
00387 {
<a name="l00388"></a><a class="code" href="structXercesDocumentWrapper_1_1BuildWrapperTreeWalker_1_1NavigatorStackEntryType.html#a0">00388</a> <a class="code" href="structXercesDocumentWrapper_1_1BuildWrapperTreeWalker_1_1NavigatorStackEntryType.html#a0">NavigatorStackEntryType</a>(
00389 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>* theNavigator = 0,
00390 <a class="code" href="classXalanNode.html">XalanNode</a>* theNode = 0) :
00391 m_navigator(theNavigator),
00392 m_node(theNode)
00393 {
00394 }
00395
<a name="l00396"></a><a class="code" href="structXercesDocumentWrapper_1_1BuildWrapperTreeWalker_1_1NavigatorStackEntryType.html#m0">00396</a> <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>* m_navigator;
00397
<a name="l00398"></a><a class="code" href="structXercesDocumentWrapper_1_1BuildWrapperTreeWalker_1_1NavigatorStackEntryType.html#m1">00398</a> <a class="code" href="classXalanNode.html">XalanNode</a>* m_node;
00399 };
00400
<a name="l00401"></a><a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#s1">00401</a> <font class="keyword">typedef</font> XalanVector&lt;NavigatorStackEntryType&gt; NavigatorStackType;
00402
00403 <font class="keyword">protected</font>:
00404
00405 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00406 <a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#b0">startNode</a>(<font class="keyword">const</font> DOMNodeType* node);
00407
00408 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00409 <a class="code" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html#b1">endNode</a>(<font class="keyword">const</font> DOMNodeType* node);
00410
00411 <font class="preprocessor">#if !defined(XALAN_NO_USING_DECLARATION)</font>
00412 <font class="preprocessor"></font> <font class="keyword">using</font> ParentType::startNode;
00413 <font class="keyword">using</font> ParentType::endNode;
00414 <font class="preprocessor">#endif</font>
00415 <font class="preprocessor"></font>
00416 <font class="keyword">private</font>:
00417
00418 <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>* m_document;
00419
00420 IndexType m_currentIndex;
00421
00422 NavigatorStackType m_parentNavigatorStack;
00423
00424 NavigatorStackType m_siblingNavigatorStack;
00425
00426 <font class="keyword">const</font> <font class="keywordtype">bool</font> m_buildMaps;
00427 };
00428
00429
00437 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00438 <a class="code" href="classXercesDocumentWrapper.html#a54">getPooledString</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theString) <font class="keyword">const</font>;
00439
00448 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00449 <a class="code" href="classXercesDocumentWrapper.html#a54">getPooledString</a>(
00450 <font class="keyword">const</font> XalanDOMChar* theString,
00451 XalanDOMString::size_type theLength <font class="comment">/* = XalanDOMString::npos */</font>) <font class="keyword">const</font>;
00452
00453 <font class="keywordtype">bool</font>
<a name="l00454"></a><a class="code" href="classXercesDocumentWrapper.html#a56">00454</a> <a class="code" href="classXercesDocumentWrapper.html#a56">getMappingMode</a>()<font class="keyword"> const</font>
00455 <font class="keyword"> </font>{
00456 <font class="keywordflow">return</font> m_mappingMode;
00457 }
00458
00459 <font class="keyword">private</font>:
00460
00461 <font class="comment">// Destruction API...</font>
00462 <font class="keywordtype">void</font>
00463 destroyWrapperNode(<a class="code" href="classXalanNode.html">XalanNode</a>* theNode);
00464
00465 <font class="comment">// Not implemented...</font>
00466 <a class="code" href="XercesWrapperNavigator_8hpp.html#a1">XercesDocumentWrapper</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>&amp; theSource);
00467
00468 <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>&amp;
00469 <a class="code" href="classXalanDocument.html#b1">operator=</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>&amp; theRHS);
00470
00471 <font class="keywordtype">bool</font>
00472 <a class="code" href="classXalanDocument.html#b2">operator==</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>&amp; theRHS) <font class="keyword">const</font>;
00473
00474 <font class="comment">// Private delete function...</font>
00475 <font class="keywordtype">void</font>
00476 destroyNode(<a class="code" href="classXalanNode.html">XalanNode</a>* theNode);
00477
00478 <font class="comment">// More internal implementation stuff...</font>
00479
00480 <font class="comment">// Factory methods for our implementation nodes...</font>
00481 <a class="code" href="classXalanNode.html">XalanNode</a>*
00482 createWrapperNode(
00483 <font class="keyword">const</font> DOMNodeType* theXercesNode,
00484 IndexType theIndex,
00485 <font class="keywordtype">bool</font> mapNode,
00486 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00487
00488 <a class="code" href="classXercesDocumentTypeWrapper.html">XercesDocumentTypeWrapper</a>*
00489 createWrapperNode(
00490 <font class="keyword">const</font> DOMDocumentType_Type* theDoctype,
00491 IndexType theIndex,
00492 <font class="keywordtype">bool</font> mapNode,
00493 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00494
00495 <a class="code" href="classXercesElementWrapper.html">XercesElementWrapper</a>*
00496 createWrapperNode(
00497 <font class="keyword">const</font> DOMElementType* theXercesNode,
00498 IndexType theIndex,
00499 <font class="keywordtype">bool</font> mapNode,
00500 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00501
00502 <a class="code" href="classXercesTextWrapper.html">XercesTextWrapper</a>*
00503 createWrapperNode(
00504 <font class="keyword">const</font> DOMTextType* theXercesNode,
00505 IndexType theIndex,
00506 <font class="keywordtype">bool</font> mapNode,
00507 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00508
00509 <a class="code" href="classXercesCommentWrapper.html">XercesCommentWrapper</a>*
00510 createWrapperNode(
00511 <font class="keyword">const</font> DOMCommentType* theXercesNode,
00512 IndexType theIndex,
00513 <font class="keywordtype">bool</font> mapNode,
00514 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00515
00516 <a class="code" href="classXercesCDATASectionWrapper.html">XercesCDATASectionWrapper</a>*
00517 createWrapperNode(
00518 <font class="keyword">const</font> DOMCDATASectionType* theXercesNode,
00519 IndexType theIndex,
00520 <font class="keywordtype">bool</font> mapNode,
00521 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00522
00523 <a class="code" href="classXercesProcessingInstructionWrapper.html">XercesProcessingInstructionWrapper</a>*
00524 createWrapperNode(
00525 <font class="keyword">const</font> DOMProcessingInstructionType* theXercesNode,
00526 IndexType theIndex,
00527 <font class="keywordtype">bool</font> mapNode,
00528 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00529
00530 <a class="code" href="classXercesAttrWrapper.html">XercesAttrWrapper</a>*
00531 createWrapperNode(
00532 <font class="keyword">const</font> DOMAttrType* theXercesNode,
00533 IndexType theIndex,
00534 <font class="keywordtype">bool</font> mapNode,
00535 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00536
00537 <a class="code" href="classXercesEntityWrapper.html">XercesEntityWrapper</a>*
00538 createWrapperNode(
00539 <font class="keyword">const</font> DOMEntityType* theXercesNode,
00540 IndexType theIndex,
00541 <font class="keywordtype">bool</font> mapNode,
00542 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00543
00544 <a class="code" href="classXercesEntityReferenceWrapper.html">XercesEntityReferenceWrapper</a>*
00545 createWrapperNode(
00546 <font class="keyword">const</font> DOMEntityReferenceType* theXercesNode,
00547 IndexType theIndex,
00548 <font class="keywordtype">bool</font> mapNode,
00549 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00550
00551 <a class="code" href="classXercesNotationWrapper.html">XercesNotationWrapper</a>*
00552 createWrapperNode(
00553 <font class="keyword">const</font> DOMNotationType* theXercesNode,
00554 IndexType theIndex,
00555 <font class="keywordtype">bool</font> mapNode,
00556 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>** theWrapperNodeNavigator = 0) <font class="keyword">const</font>;
00557
00558 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>&amp;
00559 createNavigator() <font class="keyword">const</font>;
00560
00561 <font class="comment">// This is a private helper class for building the tree...</font>
<a name="l00562"></a><a class="code" href="classXercesDocumentWrapper.html#l1">00562</a> <font class="keyword">friend</font> <font class="keyword">class </font>BuildWrapperTreeWalker;
00563
00564 <font class="keyword">const</font> DOMDocument_Type* <font class="keyword">const</font> m_xercesDocument;
00565
00566 <a class="code" href="classXalanElement.html">XalanElement</a>* m_documentElement;
00567
00568 <font class="keyword">mutable</font> <a class="code" href="classXercesWrapperToXalanNodeMap.html">XercesWrapperToXalanNodeMap</a> m_nodeMap;
00569
00570 XalanMemMgrAutoPtr&lt;XalanDOMImplementation, true&gt; m_domImplementation;
00571
00572 <font class="keyword">mutable</font> <a class="code" href="classXercesWrapperNavigatorAllocator.html">XercesWrapperNavigatorAllocator</a> m_navigatorAllocator;
00573
00574 <font class="comment">// Our navigator will be the first entry in m_navigators,</font>
00575 <font class="comment">// but we'll cache this so access is faster...</font>
00576 <a class="code" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a>* m_navigator;
00577
00578 <a class="code" href="classXercesNodeListWrapper.html">XercesNodeListWrapper</a> m_children;
00579
00580 <font class="keyword">mutable</font> NodeVectorType m_nodes;
00581
00582 <font class="keyword">mutable</font> <a class="code" href="classXercesDocumentTypeWrapper.html">XercesDocumentTypeWrapper</a>* m_doctype;
00583
00584 <font class="keywordtype">bool</font> m_mappingMode;
00585
00586 <font class="keywordtype">bool</font> m_indexValid;
00587
00588 <font class="keyword">const</font> <font class="keywordtype">bool</font> m_buildMaps;
00589
00590 <font class="keyword">mutable</font> <a class="code" href="classXercesElementWrapperAllocator.html">XercesElementWrapperAllocator</a> m_elementAllocator;
00591
00592 <font class="keyword">mutable</font> <a class="code" href="classXercesTextWrapperAllocator.html">XercesTextWrapperAllocator</a> m_textAllocator;
00593
00594 <font class="keyword">mutable</font> <a class="code" href="classXercesAttrWrapperAllocator.html">XercesAttrWrapperAllocator</a> m_attributeAllocator;
00595
00596 <font class="keyword">const</font> XalanMemMgrAutoPtr&lt;XalanDOMStringPool,true&gt; m_stringPool;
00597 };
00598
00599
00600
00601 XALAN_CPP_NAMESPACE_END
00602
00603
00604
00605 <font class="preprocessor">#endif // !defined(XERCESDOCUMENTWRAPPER_HEADER_GUARD_1357924680)</font>
</font></pre></div><p align="center"><a href="diagramnotes.html">Interpreting class diagrams</a></p>
<p><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><A href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</A> and
<A href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</A> are used to generate this API documentation from the Xalan-C header files.</I></FONT></p>
<TABLE border="0" cellpadding="0" cellspacing="0" width="820"><TR><TD bgcolor="#0086b2"><IMG height="1" src="../resources/dot.gif" width="1" alt="dot"></TD></TR></TABLE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="80%">
<TR>
<TD WIDTH="80%" VALIGN="TOP">
<P ALIGN="CENTER"><B>Xalan-C++ XSLT Processor Version 1.10</B><BR>
Copyright &copy; 1999-2004 The Apache Software Foundation. All Rights Reserved.</i></p>
</TD>
</TR>
<TR>
<TD WIDTH="100%">
<P ALIGN="CENTER"><IMG SRC="ApacheLogo.jpg" WIDTH="387" HEIGHT="100" ALIGN="BOTTOM" BORDER="0" ALT="Apache Logo">
</TD>
</TR>
</TABLE>