blob: 72fb5c23878c3976d99f0b93f444513fd762d9ff [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>XercesDocumentBridge.hpp</h1><a href="XercesDocumentBridge_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(XERCESDOCUMENTBRIDGE_HEADER_GUARD_1357924680)</font>
<a name="l00017"></a><a class="code" href="XercesDocumentBridge_8hpp.html#a0">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define XERCESDOCUMENTBRIDGE_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 <font class="preprocessor">#include &lt;<a class="code" href="XalanDeque_8hpp.html">xalanc/Include/XalanDeque.hpp</a>&gt;</font>
00027
00028
00029
00030 <font class="preprocessor">#if XERCES_VERSION_MAJOR &gt;= 2</font>
00031 <font class="preprocessor"></font><font class="preprocessor">#include &lt;xercesc/dom/deprecated/DOM_Document.hpp&gt;</font>
00032 <font class="preprocessor">#else</font>
00033 <font class="preprocessor"></font><font class="preprocessor">#include &lt;xercesc/dom/DOM_Document.hpp&gt;</font>
00034 <font class="preprocessor">#endif</font>
00035 <font class="preprocessor"></font>
00036
00037
00038 <font class="preprocessor">#include &lt;<a class="code" href="XalanDocument_8hpp.html">xalanc/XalanDOM/XalanDocument.hpp</a>&gt;</font>
00039
00040
00041
00042 <font class="preprocessor">#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)</font>
00043 <font class="preprocessor"></font><font class="preprocessor">#include &lt;<a class="code" href="XalanDOMImplementation_8hpp.html">xalanc/XalanDOM/XalanDOMImplementation.hpp</a>&gt;</font>
00044 <font class="preprocessor">#include &lt;<a class="code" href="XalanDOMStringPool_8hpp.html">xalanc/PlatformSupport/XalanDOMStringPool.hpp</a>&gt;</font>
00045 <font class="preprocessor">#endif</font>
00046 <font class="preprocessor"></font>
00047
00048
00049 <font class="preprocessor">#include &lt;<a class="code" href="XalanAutoPtr_8hpp.html">xalanc/Include/XalanAutoPtr.hpp</a>&gt;</font>
00050
00051
00052
00053 <font class="preprocessor">#include &lt;<a class="code" href="TreeWalker_8hpp.html">xalanc/DOMSupport/TreeWalker.hpp</a>&gt;</font>
00054
00055
00056
00057 <font class="preprocessor">#include &lt;<a class="code" href="XercesToXalanNodeMap_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesToXalanNodeMap.hpp</a>&gt;</font>
00058 <font class="preprocessor">#include &lt;<a class="code" href="XercesBridgeNavigator_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesBridgeNavigator.hpp</a>&gt;</font>
00059 <font class="preprocessor">#include &lt;<a class="code" href="XercesNodeListBridge_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesNodeListBridge.hpp</a>&gt;</font>
00060 <font class="preprocessor">#include &lt;<a class="code" href="XercesTreeWalker_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesTreeWalker.hpp</a>&gt;</font>
00061 <font class="preprocessor">#include &lt;<a class="code" href="XercesElementBridgeAllocator_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesElementBridgeAllocator.hpp</a>&gt;</font>
00062 <font class="preprocessor">#include &lt;<a class="code" href="XercesTextBridgeAllocator_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesTextBridgeAllocator.hpp</a>&gt;</font>
00063 <font class="preprocessor">#include &lt;<a class="code" href="XercesAttributeBridgeAllocator_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesAttributeBridgeAllocator.hpp</a>&gt;</font>
00064
00065
00066
00067 XALAN_CPP_NAMESPACE_BEGIN
00068
00069
00070
<a name="l00071"></a><a class="code" href="XercesDocumentBridge_8hpp.html#a1">00071</a> <font class="keyword">class </font><a class="code" href="classXalanDOMStringPool.html">XalanDOMStringPool</a>;
00072 <font class="keyword">class </font><a class="code" href="classXercesAttrBridge.html">XercesAttrBridge</a>;
00073 <font class="keyword">class </font><a class="code" href="classXercesCommentBridge.html">XercesCommentBridge</a>;
00074 <font class="keyword">class </font><a class="code" href="classXercesCDATASectionBridge.html">XercesCDATASectionBridge</a>;
00075 <font class="keyword">class </font><a class="code" href="classXercesDocumentFragmentBridge.html">XercesDocumentFragmentBridge</a>;
00076 <font class="keyword">class </font><a class="code" href="classXercesDocumentTypeBridge.html">XercesDocumentTypeBridge</a>;
00077 <font class="keyword">class </font><a class="code" href="classXercesElementBridge.html">XercesElementBridge</a>;
00078 <font class="keyword">class </font><a class="code" href="classXercesEntityBridge.html">XercesEntityBridge</a>;
00079 <font class="keyword">class </font><a class="code" href="classXercesEntityReferenceBridge.html">XercesEntityReferenceBridge</a>;
00080 <font class="keyword">class </font><a class="code" href="classXercesProcessingInstructionBridge.html">XercesProcessingInstructionBridge</a>;
00081 <font class="keyword">class </font><a class="code" href="classXercesNotationBridge.html">XercesNotationBridge</a>;
00082 <font class="keyword">class </font><a class="code" href="classXercesTextBridge.html">XercesTextBridge</a>;
00083
00084
<a name="l00090"></a><a class="code" href="classXercesDocumentBridge.html">00090</a> <font class="keyword">class </font>XALAN_XERCESPARSERLIAISON_EXPORT <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a> : <font class="keyword">public</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>
00091 {
00092 <font class="keyword">public</font>:
00093
<a name="l00094"></a><a class="code" href="classXercesDocumentBridge.html#l0">00094</a> <font class="keyword">friend</font> <font class="keyword">class </font><a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>;
00095
00111 <a class="code" href="XercesBridgeNavigator_8hpp.html#a1">XercesDocumentBridge</a>(
00112 <font class="keyword">const</font> DOM_Document_Type&amp; theXercesDocument,
00113 <font class="keywordtype">bool</font> threadSafe = <font class="keyword">true</font>,
00114 <font class="keywordtype">bool</font> buildBridge = <font class="keyword">true</font>);
00115
00116 <font class="keyword">virtual</font>
00117 <a class="code" href="classXercesDocumentBridge.html#a1">~XercesDocumentBridge</a>();
00118
00119 <font class="comment">// These interfaces are inherited from XalanNode...</font>
00120
00121 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00122 <a class="code" href="classXalanDocument.html#a2">getNodeName</a>() <font class="keyword">const</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#a3">getNodeValue</a>() <font class="keyword">const</font>;
00126
00127 <font class="keyword">virtual</font> NodeType
00128 <a class="code" href="classXalanDocument.html#a4">getNodeType</a>() <font class="keyword">const</font>;
00129
00130 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00131 <a class="code" href="classXalanDocument.html#a5">getParentNode</a>() <font class="keyword">const</font>;
00132
00133 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00134 <a class="code" href="classXalanDocument.html#a6">getChildNodes</a>() <font class="keyword">const</font>;
00135
00136 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00137 <a class="code" href="classXalanDocument.html#a7">getFirstChild</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#a8">getLastChild</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#a9">getPreviousSibling</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#a10">getNextSibling</a>() <font class="keyword">const</font>;
00147
00148 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>*
00149 <a class="code" href="classXalanDocument.html#a11">getAttributes</a>() <font class="keyword">const</font>;
00150
00151 <font class="keyword">virtual</font> <a class="code" href="classXalanDocument.html">XalanDocument</a>*
00152 <a class="code" href="classXalanDocument.html#a12">getOwnerDocument</a>() <font class="keyword">const</font>;
00153
00154 <font class="preprocessor">#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)</font>
00155 <font class="preprocessor"></font> <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00156 <font class="preprocessor">#else</font>
00157 <font class="preprocessor"></font> <font class="keyword">virtual</font> <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>*
00158 <font class="preprocessor">#endif</font>
00159 <font class="preprocessor"></font> <a class="code" href="classXalanDocument.html#a13">cloneNode</a>(<font class="keywordtype">bool</font> deep) <font class="keyword">const</font>;
00160
00161 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00162 <a class="code" href="classXalanDocument.html#a14">insertBefore</a>(
00163 <a class="code" href="classXalanNode.html">XalanNode</a>* newChild,
00164 <a class="code" href="classXalanNode.html">XalanNode</a>* refChild);
00165
00166 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00167 <a class="code" href="classXalanDocument.html#a15">replaceChild</a>(
00168 <a class="code" href="classXalanNode.html">XalanNode</a>* newChild,
00169 <a class="code" href="classXalanNode.html">XalanNode</a>* oldChild);
00170
00171 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00172 <a class="code" href="classXalanDocument.html#a16">removeChild</a>(<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#a17">appendChild</a>(<a class="code" href="classXalanNode.html">XalanNode</a>* newChild);
00176
00177 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00178 <a class="code" href="classXalanDocument.html#a18">hasChildNodes</a>() <font class="keyword">const</font>;
00179
00180 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00181 <a class="code" href="classXalanDocument.html#a19">setNodeValue</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; nodeValue);
00182
00183 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00184 <a class="code" href="classXalanDocument.html#a20">normalize</a>();
00185
00186 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00187 <a class="code" href="classXalanDocument.html#a21">isSupported</a>(
00188 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; feature,
00189 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; version) <font class="keyword">const</font>;
00190
00191 <font class="keyword">virtual</font> <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00192 <a class="code" href="classXalanDocument.html#a22">getNamespaceURI</a>() <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#a23">getPrefix</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#a24">getLocalName</a>() <font class="keyword">const</font>;
00199
00200 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00201 <a class="code" href="classXalanDocument.html#a25">setPrefix</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; prefix);
00202
00203 <font class="keyword">virtual</font> <font class="keywordtype">bool</font>
00204 <a class="code" href="classXalanDocument.html#a26">isIndexed</a>() <font class="keyword">const</font>;
00205
00206 <font class="keyword">virtual</font> IndexType
00207 <a class="code" href="classXalanDocument.html#a27">getIndex</a>() <font class="keyword">const</font>;
00208
00209 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00210 <a class="code" href="classXalanDocument.html#a28">createElement</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; tagName);
00211
00212 <font class="keyword">virtual</font> <a class="code" href="classXalanDocumentFragment.html">XalanDocumentFragment</a>*
00213 <a class="code" href="classXalanDocument.html#a29">createDocumentFragment</a>();
00214
00215 <font class="keyword">virtual</font> <a class="code" href="classXalanText.html">XalanText</a>*
00216 <a class="code" href="classXalanDocument.html#a30">createTextNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00217
00218 <font class="keyword">virtual</font> <a class="code" href="classXalanComment.html">XalanComment</a>*
00219 <a class="code" href="classXalanDocument.html#a31">createComment</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="classXalanCDATASection.html">XalanCDATASection</a>*
00222 <a class="code" href="classXalanDocument.html#a32">createCDATASection</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="classXalanProcessingInstruction.html">XalanProcessingInstruction</a>*
00225 <a class="code" href="classXalanDocument.html#a33">createProcessingInstruction</a>(
00226 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; target,
00227 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; data);
00228
00229 <font class="keyword">virtual</font> <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00230 <a class="code" href="classXalanDocument.html#a34">createAttribute</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; name);
00231
00232 <font class="keyword">virtual</font> <a class="code" href="classXalanEntityReference.html">XalanEntityReference</a>*
00233 <a class="code" href="classXalanDocument.html#a35">createEntityReference</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="classXalanDocumentType.html">XalanDocumentType</a>*
00236 <a class="code" href="classXalanDocument.html#a36">getDoctype</a>() <font class="keyword">const</font>;
00237
00238 <font class="keyword">virtual</font> <a class="code" href="classXalanDOMImplementation.html">XalanDOMImplementation</a>*
00239 <a class="code" href="classXalanDocument.html#a37">getImplementation</a>() <font class="keyword">const</font>;
00240
00241 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00242 <a class="code" href="classXalanDocument.html#a38">getDocumentElement</a>() <font class="keyword">const</font>;
00243
00244 <font class="keyword">virtual</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00245 <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>;
00246
00247 <font class="keyword">virtual</font> <a class="code" href="classXalanNode.html">XalanNode</a>*
00248 <a class="code" href="classXalanDocument.html#a40">importNode</a>(
00249 <a class="code" href="classXalanNode.html">XalanNode</a>* importedNode,
00250 <font class="keywordtype">bool</font> deep);
00251
00252 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00253 <a class="code" href="classXalanDocument.html#a41">createElementNS</a>(
00254 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00255 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; qualifiedName);
00256
00257 <font class="keyword">virtual</font> <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00258 <a class="code" href="classXalanDocument.html#a42">createAttributeNS</a>(
00259 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00260 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; qualifiedName);
00261
00262 <font class="keyword">virtual</font> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
00263 <a class="code" href="classXalanDocument.html#a43">getElementsByTagNameNS</a>(
00264 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; namespaceURI,
00265 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; localName) <font class="keyword">const</font>;
00266
00267 <font class="keyword">virtual</font> <a class="code" href="classXalanElement.html">XalanElement</a>*
00268 <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>;
00269
00270 <font class="comment">// These are some special interfaces to manage relationships between</font>
00271 <font class="comment">// our nodes and Xerces nodes.</font>
00272
00280 <font class="keywordtype">void</font>
00281 <a class="code" href="classXercesDocumentBridge.html#a45">destroyBridge</a>();
00282
00289 <font class="keywordtype">void</font>
00290 <a class="code" href="classXercesDocumentBridge.html#a46">rebuildBridge</a>();
00291
00292 <a class="code" href="classXalanNode.html">XalanNode</a>*
00293 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(<font class="keyword">const</font> DOM_NodeType&amp; theXercesNode) <font class="keyword">const</font>;
00294
00295 <a class="code" href="classXalanAttr.html">XalanAttr</a>*
00296 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(<font class="keyword">const</font> DOM_AttrType&amp; theXercesNode) <font class="keyword">const</font>;
00297
00298 <a class="code" href="classXalanElement.html">XalanElement</a>*
00299 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(<font class="keyword">const</font> DOM_ElementType&amp; theXercesNode) <font class="keyword">const</font>;
00300
00301 DOM_NodeType
00302 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* theXalanNode) <font class="keyword">const</font>;
00303
00304 DOM_AttrType
00305 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(<font class="keyword">const</font> <a class="code" href="classXalanAttr.html">XalanAttr</a>* theXalanNode) <font class="keyword">const</font>;
00306
00307 NodeImplType*
00308 <a class="code" href="classXercesDocumentBridge.html#a52">mapNodeToImpl</a>(<font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* theXalanNode) <font class="keyword">const</font>;
00309
00317 DOM_Document_Type
<a name="l00318"></a><a class="code" href="classXercesDocumentBridge.html#a53">00318</a> <a class="code" href="classXercesDocumentBridge.html#a53">getXercesDocument</a>()<font class="keyword"> const</font>
00319 <font class="keyword"> </font>{
00320 <font class="keywordflow">return</font> m_xercesDocument;
00321 }
00322
00328 <font class="keywordtype">void</font>
00329 <a class="code" href="classXercesDocumentBridge.html#a54">buildBridgeNodes</a>();
00330
00331
<a name="l00332"></a><a class="code" href="classXercesDocumentBridge.html#s0">00332</a> <font class="keyword">typedef</font> <a class="code" href="classXalanDeque.html">XalanDeque&lt;XercesBridgeNavigator&gt;</a> <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorType</a>;
<a name="l00333"></a><a class="code" href="classXercesDocumentBridge.html#s1">00333</a> <font class="keyword">typedef</font> <a class="code" href="classXalanDeque.html">XalanDeque&lt;XalanNode*&gt;</a> NodeVectorType;
00334
00335
00336 <font class="comment">// Helper class to walk the tree and build everything...</font>
<a name="l00337"></a><a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html">00337</a> <font class="keyword">class </font>BuildBridgeTreeWalker : <font class="keyword">public</font> <a class="code" href="classXercesTreeWalker.html">XercesTreeWalker</a>
00338 {
00339 <font class="keyword">public</font>:
00340
<a name="l00341"></a><a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#s0">00341</a> <font class="keyword">typedef</font> <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorType</a> <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorInnerType</a>;
00342
00343 <a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#a0">BuildBridgeTreeWalker</a>(
00344 <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>* theDocument,
00345 <a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>* theDocumentNavigator,
00346 <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorInnerType</a>&amp; theNavigators,
00347 IndexType theStartIndex);
00348
00349 <font class="keyword">virtual</font>
00350 <a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#a1">~BuildBridgeTreeWalker</a>();
00351
<a name="l00352"></a><a class="code" href="structXercesDocumentBridge_1_1BuildBridgeTreeWalker_1_1NavigatorStackEntryType.html">00352</a> <font class="keyword">struct </font>NavigatorStackEntryType
00353 {
<a name="l00354"></a><a class="code" href="structXercesDocumentBridge_1_1BuildBridgeTreeWalker_1_1NavigatorStackEntryType.html#a0">00354</a> <a class="code" href="structXercesDocumentBridge_1_1BuildBridgeTreeWalker_1_1NavigatorStackEntryType.html#a0">NavigatorStackEntryType</a>(
00355 <a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>* theNavigator = 0,
00356 <a class="code" href="classXalanNode.html">XalanNode</a>* theNode = 0) :
00357 m_navigator(theNavigator),
00358 m_node(theNode)
00359 {
00360 }
00361
<a name="l00362"></a><a class="code" href="structXercesDocumentBridge_1_1BuildBridgeTreeWalker_1_1NavigatorStackEntryType.html#m0">00362</a> <a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>* m_navigator;
00363
<a name="l00364"></a><a class="code" href="structXercesDocumentBridge_1_1BuildBridgeTreeWalker_1_1NavigatorStackEntryType.html#m1">00364</a> <a class="code" href="classXalanNode.html">XalanNode</a>* m_node;
00365 };
00366
00367
<a name="l00368"></a><a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#s1">00368</a> <font class="keyword">typedef</font> XalanVector&lt;NavigatorStackEntryType&gt; NavigatorStackType;
00369
00370 <font class="keyword">protected</font>:
00371
00372 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00373 <a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#b0">startNode</a>(<font class="keyword">const</font> DOM_NodeType&amp; node);
00374
00375 <font class="keyword">virtual</font> <font class="keywordtype">void</font>
00376 <a class="code" href="classXercesDocumentBridge_1_1BuildBridgeTreeWalker.html#b1">endNode</a>(<font class="keyword">const</font> DOM_NodeType&amp; node);
00377
00378 <font class="keyword">private</font>:
00379
00380 <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>* m_document;
00381
00382 <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorInnerType</a>&amp; m_navigators;
00383
00384 IndexType m_currentIndex;
00385
00386 NavigatorStackType m_parentNavigatorStack;
00387
00388 NavigatorStackType m_siblingNavigatorStack;
00389 };
00390
00391
00399 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00400 <a class="code" href="classXercesDocumentBridge.html#a55">getPooledString</a>(<font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp; theString) <font class="keyword">const</font>;
00401
00410 <font class="keyword">const</font> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
00411 <a class="code" href="classXercesDocumentBridge.html#a55">getPooledString</a>(
00412 <font class="keyword">const</font> XalanDOMChar* theString,
00413 XalanDOMString::size_type theLength <font class="comment">/* = XalanDOMString::npos */</font>) <font class="keyword">const</font>;
00414
00415 <font class="keyword">private</font>:
00416
00417 <a class="code" href="classXalanNode.html">XalanNode</a>*
00418 <a class="code" href="classXercesDocumentBridge.html#a47">mapNode</a>(NodeImplType* theXercesNodeImpl) <font class="keyword">const</font>;
00419
00420 <font class="comment">// Destruction API...</font>
00421 <font class="keywordtype">void</font>
00422 destroyBridgeNode(<a class="code" href="classXalanNode.html">XalanNode</a>* theNode);
00423
00424 <font class="comment">// Not implemented...</font>
00425 <a class="code" href="XercesBridgeNavigator_8hpp.html#a1">XercesDocumentBridge</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>&amp; theSource);
00426
00427 <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>&amp;
00428 <a class="code" href="classXalanDocument.html#b1">operator=</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>&amp; theRHS);
00429
00430 <font class="keywordtype">bool</font>
00431 <a class="code" href="classXalanDocument.html#b2">operator==</a>(<font class="keyword">const</font> <a class="code" href="classXercesDocumentBridge.html">XercesDocumentBridge</a>&amp; theRHS) <font class="keyword">const</font>;
00432
00433 <font class="comment">// Private delete function...</font>
00434 <font class="keywordtype">void</font>
00435 destroyNode(<a class="code" href="classXalanNode.html">XalanNode</a>* theNode);
00436
00437 <font class="comment">// More internal implementation stuff...</font>
00438 <a class="code" href="classXalanNode.html">XalanNode</a>*
00439 internalCloneNode(
00440 <font class="keyword">const</font> <a class="code" href="classXalanNode.html">XalanNode</a>* theXalanNode,
00441 <font class="keyword">const</font> DOM_NodeType&amp; theXercesNode,
00442 <font class="keywordtype">bool</font> deep);
00443
00444 <font class="comment">// Factory methods for our implementation nodes...</font>
00445 <a class="code" href="classXalanNode.html">XalanNode</a>*
00446 createBridgeNode(
00447 <font class="keyword">const</font> DOM_NodeType&amp; theXercesNode,
00448 IndexType theIndex,
00449 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00450
00451 <a class="code" href="classXercesDocumentTypeBridge.html">XercesDocumentTypeBridge</a>*
00452 createBridgeNode(
00453 <font class="keyword">const</font> DOM_DocumentType_Type&amp; theDoctype,
00454 IndexType theIndex,
00455 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00456
00457 <a class="code" href="classXercesElementBridge.html">XercesElementBridge</a>*
00458 createBridgeNode(
00459 <font class="keyword">const</font> DOM_ElementType&amp; theXercesNode,
00460 IndexType theIndex,
00461 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00462
00463 <a class="code" href="classXercesDocumentFragmentBridge.html">XercesDocumentFragmentBridge</a>*
00464 createBridgeNode(
00465 <font class="keyword">const</font> DOM_DocumentFragmentType&amp; theXercesNode,
00466 IndexType theIndex,
00467 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00468
00469 <a class="code" href="classXercesTextBridge.html">XercesTextBridge</a>*
00470 createBridgeNode(
00471 <font class="keyword">const</font> DOM_TextType&amp; theXercesNode,
00472 IndexType theIndex,
00473 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00474
00475 <a class="code" href="classXercesCommentBridge.html">XercesCommentBridge</a>*
00476 createBridgeNode(
00477 <font class="keyword">const</font> DOM_CommentType&amp; theXercesNode,
00478 IndexType theIndex,
00479 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00480
00481 <a class="code" href="classXercesCDATASectionBridge.html">XercesCDATASectionBridge</a>*
00482 createBridgeNode(
00483 <font class="keyword">const</font> DOM_CDATASectionType&amp; theXercesNode,
00484 IndexType theIndex,
00485 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00486
00487 <a class="code" href="classXercesProcessingInstructionBridge.html">XercesProcessingInstructionBridge</a>*
00488 createBridgeNode(
00489 <font class="keyword">const</font> DOM_ProcessingInstructionType&amp; theXercesNode,
00490 IndexType theIndex,
00491 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00492
00493 <a class="code" href="classXercesAttrBridge.html">XercesAttrBridge</a>*
00494 createBridgeNode(
00495 <font class="keyword">const</font> DOM_AttrType&amp; theXercesNode,
00496 IndexType theIndex,
00497 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00498
00499 <a class="code" href="classXercesEntityBridge.html">XercesEntityBridge</a>*
00500 createBridgeNode(
00501 <font class="keyword">const</font> DOM_EntityType&amp; theXercesNode,
00502 IndexType theIndex,
00503 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00504
00505 <a class="code" href="classXercesEntityReferenceBridge.html">XercesEntityReferenceBridge</a>*
00506 createBridgeNode(
00507 <font class="keyword">const</font> DOM_EntityReferenceType&amp; theXercesNode,
00508 IndexType theIndex,
00509 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00510
00511 <a class="code" href="classXercesNotationBridge.html">XercesNotationBridge</a>*
00512 createBridgeNode(
00513 <font class="keyword">const</font> DOM_NotationType&amp; theXercesNode,
00514 IndexType theIndex,
00515 <font class="keywordtype">bool</font> mapNode) <font class="keyword">const</font>;
00516
00517 <a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>&amp;
00518 pushNavigator(<font class="keywordtype">bool</font> mappingMode) <font class="keyword">const</font>;
00519
00520 <font class="comment">// This is a private helper class for building the tree...</font>
<a name="l00521"></a><a class="code" href="classXercesDocumentBridge.html#l1">00521</a> <font class="keyword">friend</font> <font class="keyword">class </font>BuildBridgeTreeWalker;
00522
00523 <font class="comment">// $$$ ToDo: This is because DOM_Document::getElementById() is not</font>
00524 <font class="comment">// const...</font>
00525 <font class="keyword">mutable</font> DOM_Document_Type m_xercesDocument;
00526
00527 <a class="code" href="classXalanElement.html">XalanElement</a>* m_documentElement;
00528
00529 <font class="keyword">mutable</font> <a class="code" href="classXercesToXalanNodeMap.html">XercesToXalanNodeMap</a> m_nodeMap;
00530
00531 <a class="code" href="classXalanAutoPtr.html">XalanAutoPtr&lt;XalanDOMImplementation&gt;</a> m_domImplementation;
00532
00533 <font class="keyword">mutable</font> <a class="code" href="classXalanDeque.html">NavigatorBridgeVectorType</a> m_navigators;
00534
00535 <font class="comment">// Our navigator will be the first entry in m_navigators,</font>
00536 <font class="comment">// but we'll cache this so access is faster...</font>
00537 <a class="code" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a>* m_navigator;
00538
00539 <a class="code" href="classXercesNodeListBridge.html">XercesNodeListBridge</a> m_children;
00540
00541 <font class="keyword">mutable</font> NodeVectorType m_nodes;
00542
00543 <font class="keyword">mutable</font> <a class="code" href="classXercesDocumentTypeBridge.html">XercesDocumentTypeBridge</a>* m_doctype;
00544
00545 <font class="keywordtype">bool</font> m_mappingMode;
00546
00547 <font class="keywordtype">bool</font> m_indexValid;
00548
00549 <font class="keyword">mutable</font> <a class="code" href="classXercesElementBridgeAllocator.html">XercesElementBridgeAllocator</a> m_elementAllocator;
00550
00551 <font class="keyword">mutable</font> <a class="code" href="classXercesTextBridgeAllocator.html">XercesTextBridgeAllocator</a> m_textAllocator;
00552
00553 <font class="keyword">mutable</font> <a class="code" href="classXercesAttributeBridgeAllocator.html">XercesAttributeBridgeAllocator</a> m_attributeAllocator;
00554
00555 <font class="keyword">const</font> <a class="code" href="classXalanAutoPtr.html">XalanAutoPtr&lt;XalanDOMStringPool&gt;</a> m_stringPool;
00556 };
00557
00558
00559
00560 XALAN_CPP_NAMESPACE_END
00561
00562
00563
00564 <font class="preprocessor">#endif // !defined(XERCESDOCUMENTBRIDGE_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>