<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>XercesDocumentWrapper Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="XercesDocumentWrapper" --><!-- doxytag: inherits="XalanDocument" -->
<p><code>#include &lt;<a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>&gt;</code></p>

<p>Inherits <a class="el" href="classXalanDocument.html">XalanDocument</a>.</p>
<div class="dynheader">
Collaboration diagram for XercesDocumentWrapper:</div>
<div class="dyncontent">
<div class="center"><img src="classXercesDocumentWrapper__coll__graph.png" border="0" usemap="#XercesDocumentWrapper_coll__map" alt="Collaboration graph"/></div>
<map name="XercesDocumentWrapper_coll__map" id="XercesDocumentWrapper_coll__map">
<area shape="rect" id="node23" href="classXercesWrapperNavigator.html" title="XercesWrapperNavigator" alt="" coords="2884,173,3065,203"/><area shape="rect" id="node2" href="classXalanDocument.html" title="XalanDocument" alt="" coords="2093,272,2219,301"/><area shape="rect" id="node4" href="classXalanNode.html" title="XalanNode" alt="" coords="1624,148,1717,177"/><area shape="rect" id="node31" href="classXalanElement.html" title="XalanElement" alt="" coords="2100,219,2212,248"/><area shape="rect" id="node51" href="classXalanDocumentType.html" title="XalanDocumentType" alt="" coords="2344,5,2499,35"/><area shape="rect" id="node6" href="classXercesWrapperToXalanNodeMap.html" title="XercesWrapperToXalanNodeMap" alt="" coords="2040,645,2272,675"/><area shape="rect" id="node8" href="classXalanMap.html" title="XalanMap\&lt; const DOMNodeType *, XalanNode * \&gt;" alt="" coords="1496,615,1845,644"/><area shape="rect" id="node10" href="classXalanVector.html" title="XalanVector\&lt; BucketType, ConstructWithMemoryManagerTraits\&lt; BucketType \&gt; \&gt;" alt="" coords="804,544,1348,573"/><area shape="rect" id="node12" href="structXalanMapKeyTraits.html" title="XalanMapKeyTraits\&lt; const DOMNodeType * \&gt;" alt="" coords="917,675,1235,704"/><area shape="rect" id="node14" href="classXalanList.html" title="XalanList\&lt; Entry \&gt;" alt="" coords="1004,603,1148,632"/><area shape="rect" id="node16" href="structXalanList_1_1Node.html" title="XalanList\&lt; Type \&gt;::Node" alt="" coords="408,567,589,596"/><area shape="rect" id="node46" href="classXalanList.html" title="XalanList\&lt; ArenaBlock\&lt; ObjectType \&gt; * \&gt;" alt="" coords="929,485,1223,515"/><area shape="rect" id="node19" href="classXercesNodeListWrapper.html" title="XercesNodeListWrapper" alt="" coords="3224,232,3400,261"/><area shape="rect" id="node21" href="classXalanNodeList.html" title="XalanNodeList" alt="" coords="2917,249,3032,279"/><area shape="rect" id="node49" href="classXercesDocumentTypeWrapper.html" title="XercesDocumentTypeWrapper" alt="" coords="3557,188,3773,217"/><area shape="rect" id="node54" href="classXercesNamedNodeMapWrapper.html" title="XercesNamedNodeMapWrapper" alt="" coords="3199,285,3425,315"/><area shape="rect" id="node27" href="classXalanDOMString.html" title="XalanDOMString" alt="" coords="2552,165,2680,195"/><area shape="rect" id="node29" href="classXalanVector.html" title="XalanVector\&lt; XalanDOMChar \&gt;" alt="" coords="2043,165,2269,195"/><area shape="rect" id="node34" href="classXercesElementWrapperAllocator.html" title="XercesElementWrapperAllocator" alt="" coords="2041,325,2271,355"/><area shape="rect" id="node36" href="classArenaAllocator.html" title="ArenaAllocator\&lt; ObjectType \&gt;" alt="" coords="1563,432,1779,461"/><area shape="rect" id="node65" href="classXercesAttrWrapperAllocator.html" title="XercesAttrWrapperAllocator" alt="" coords="2056,379,2256,408"/><area shape="rect" id="node68" href="classXercesTextWrapperAllocator.html" title="XercesTextWrapperAllocator" alt="" coords="2055,432,2257,461"/><area shape="rect" id="node71" href="classXercesWrapperNavigatorAllocator.html" title="XercesWrapperNavigatorAllocator" alt="" coords="2037,485,2275,515"/><area shape="rect" id="node38" href="classArenaBlock.html" title="ArenaBlock\&lt; ObjectType \&gt;" alt="" coords="979,432,1173,461"/><area shape="rect" id="node40" href="classArenaBlockBase.html" title="ArenaBlockBase\&lt; ObjectType, size_t \&gt;" alt="" coords="364,432,633,461"/><area shape="rect" id="node44" href="classXalanAllocator.html" title="XalanAllocator\&lt; ObjectType \&gt;" alt="" coords="7,459,220,488"/><area shape="rect" id="node56" href="classXalanNamedNodeMap.html" title="XalanNamedNodeMap" alt="" coords="2892,368,3057,397"/><area shape="rect" id="node61" href="classXalanMemMgrAutoPtr.html" title="XalanMemMgrAutoPtr\&lt; XalanDOMStringPool \&gt;" alt="" coords="1993,539,2319,568"/><area shape="rect" id="node63" href="classXalanMemMgrAutoPtr_1_1MemMgrAutoPtrData.html" title="XalanMemMgrAutoPtr\&lt; Type \&gt;::MemMgrAutoPtrData" alt="" coords="1488,539,1853,568"/><area shape="rect" id="node74" href="classXalanVector.html" title="XalanVector\&lt; XalanNode * \&gt;" alt="" coords="2051,592,2261,621"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classXercesDocumentWrapper-members.html">List of all members.</a></p>
<h2><a name="nested-classes"></a>
Classes</h2>
<ul>
<li>class <a class="el" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html">BuildWrapperTreeWalker</a>
</ul>
<h2><a name="pub-types"></a>
Public Types</h2>
<ul>
<li>typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt; <a class="el" href="classXalanNode.html">XalanNode</a> * &gt; <a class="el" href="classXercesDocumentWrapper.html#a4a9a5191b8e5b7c7261c5bc96c916bbb">NodeVectorType</a>
</ul>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classXercesDocumentWrapper.html#a202dc804b37a9c1423eb4bcf92a9e388">XercesDocumentWrapper</a> (MemoryManager &amp;theManager, const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a> *theXercesDocument, bool threadSafe=true, bool buildWrapper=true, bool buildMaps=false)
<dl class="el"><dd class="mdescRight">Constructor for <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>.  <a href="#a202dc804b37a9c1423eb4bcf92a9e388"></a><br/></dl><li>MemoryManager &amp; <a class="el" href="classXercesDocumentWrapper.html#a243294dc0f85cce3580e46478b0079bd">getMemoryManager</a> () const 
<li>virtual <a class="el" href="classXercesDocumentWrapper.html#afbebc6e1a2b0035283506092d07201d3">~XercesDocumentWrapper</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#a99d06b0273dd4b22ef529288a9244bbc">getNodeName</a> () const 
<dl class="el"><dd class="mdescRight">Gets the name of this node, depending on its type.  <a href="#a99d06b0273dd4b22ef529288a9244bbc"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#a379029bcacc4a4e4e5f7526b6ccd5ddb">getNodeValue</a> () const 
<dl class="el"><dd class="mdescRight">Gets the value of this node, depending on its type.  <a href="#a379029bcacc4a4e4e5f7526b6ccd5ddb"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">NodeType</a> <a class="el" href="classXercesDocumentWrapper.html#a94dfbcb4f99546333dd04011427ddee6">getNodeType</a> () const 
<dl class="el"><dd class="mdescRight">An enum value representing the type of the underlying object.  <a href="#a94dfbcb4f99546333dd04011427ddee6"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#ae789b254483586183cd289f93fa79f27">getParentNode</a> () const 
<dl class="el"><dd class="mdescRight">Gets the parent of this node.  <a href="#ae789b254483586183cd289f93fa79f27"></a><br/></dl><li>virtual const <a class="el" href="classXalanNodeList.html">XalanNodeList</a> * <a class="el" href="classXercesDocumentWrapper.html#a2b031845d36255db7bc6bd6974732889">getChildNodes</a> () const 
<dl class="el"><dd class="mdescRight">Gets a <code>NodeList</code> that contains all children of this node.  <a href="#a2b031845d36255db7bc6bd6974732889"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#a8c3b6033c198be33cde97a45ad71a8a8">getFirstChild</a> () const 
<dl class="el"><dd class="mdescRight">Gets the first child of this node.  <a href="#a8c3b6033c198be33cde97a45ad71a8a8"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#af3284f6eea4985f3de642d8398d3aaa7">getLastChild</a> () const 
<dl class="el"><dd class="mdescRight">Gets the last child of this node.  <a href="#af3284f6eea4985f3de642d8398d3aaa7"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#a842745c18706ab58174348703a244bc1">getPreviousSibling</a> () const 
<dl class="el"><dd class="mdescRight">Gets the node immediately preceding this node.  <a href="#a842745c18706ab58174348703a244bc1"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#a6b0e901290344d2643bc16008a39b505">getNextSibling</a> () const 
<dl class="el"><dd class="mdescRight">Gets the node immediately following this node.  <a href="#a6b0e901290344d2643bc16008a39b505"></a><br/></dl><li>virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a> * <a class="el" href="classXercesDocumentWrapper.html#ab4602cd3ce9e596069e039dc0f725886">getAttributes</a> () const 
<dl class="el"><dd class="mdescRight">Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it is an <code>Element</code>) or <code>null</code> otherwise.  <a href="#ab4602cd3ce9e596069e039dc0f725886"></a><br/></dl><li>virtual <a class="el" href="classXalanDocument.html">XalanDocument</a> * <a class="el" href="classXercesDocumentWrapper.html#a6ba4a941e41bdc86cc09419f989702ae">getOwnerDocument</a> () const 
<dl class="el"><dd class="mdescRight">Gets the <code>Document</code> object associated with this node.  <a href="#a6ba4a941e41bdc86cc09419f989702ae"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#ae9fd672f9b48e146fb1ed5f4e751ae19">getNamespaceURI</a> () const 
<dl class="el"><dd class="mdescRight">Get the <em>namespace URI</em> of this node, or <code>null</code> if it is unspecified.  <a href="#ae9fd672f9b48e146fb1ed5f4e751ae19"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#aeb4f050e4d86ae56d3c1179ce1cbd1b9">getPrefix</a> () const 
<dl class="el"><dd class="mdescRight">Get the <em>namespace prefix</em> of this node, or <code>null</code> if it is unspecified.  <a href="#aeb4f050e4d86ae56d3c1179ce1cbd1b9"></a><br/></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#aec45c316d224e45daf5a8ddf3c8565ae">getLocalName</a> () const 
<dl class="el"><dd class="mdescRight">Returns the local part of the <em>qualified name</em> of this node.  <a href="#aec45c316d224e45daf5a8ddf3c8565ae"></a><br/></dl><li>virtual bool <a class="el" href="classXercesDocumentWrapper.html#aaf9669618ddb4c46981c75e95beece65">isIndexed</a> () const 
<dl class="el"><dd class="mdescRight">Determine if the document is node-order indexed.  <a href="#aaf9669618ddb4c46981c75e95beece65"></a><br/></dl><li>virtual <a class="el" href="classXalanNode.html#a737e6c797973546c10650cd72cc5f8ab">IndexType</a> <a class="el" href="classXercesDocumentWrapper.html#a98789cb01ae42ed52b209dbeaecbf445">getIndex</a> () const 
<dl class="el"><dd class="mdescRight">Get the node's index.  <a href="#a98789cb01ae42ed52b209dbeaecbf445"></a><br/></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a> * <a class="el" href="classXercesDocumentWrapper.html#ae5927e6208d55041104d232249e62402">getDocumentElement</a> () const 
<dl class="el"><dd class="mdescRight">Return a reference to the root element of the document.  <a href="#ae5927e6208d55041104d232249e62402"></a><br/></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a> * <a class="el" href="classXercesDocumentWrapper.html#accb9a91736b7d30f9cafb47a2fc7fa16">getElementById</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;elementId) const 
<dl class="el"><dd class="mdescRight">Returns the <code>Element</code> whose ID is given by <code>elementId</code>.  <a href="#accb9a91736b7d30f9cafb47a2fc7fa16"></a><br/></dl><li>void <a class="el" href="classXercesDocumentWrapper.html#aff7f7864d3372fa9a32a3ca57f5089ec">destroyWrapper</a> ()
<dl class="el"><dd class="mdescRight">Destroy the entire bridge structure that connects the Xerces document to this <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> instance.  <a href="#aff7f7864d3372fa9a32a3ca57f5089ec"></a><br/></dl><li>void <a class="el" href="classXercesDocumentWrapper.html#a4384f303773d165e4dff4c2e9e302a07">rebuildWrapper</a> ()
<dl class="el"><dd class="mdescRight">Rebuild the entire bridge structure that connects the Xerces document to this <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> instance.  <a href="#a4384f303773d165e4dff4c2e9e302a07"></a><br/></dl><li><a class="el" href="classXalanNode.html">XalanNode</a> * <a class="el" href="classXercesDocumentWrapper.html#a15a5d87e4e241ab519753659e0ce1b5d">mapNode</a> (const <a class="el" href="XercesWrapperTypes_8hpp.html#a6b6ee47b1b3c022ca18de297802d52ea">DOMNodeType</a> *theXercesNode) const 
<dl class="el"><dd class="mdescRight">Map a Xerces node to the corresponding wrapper node.  <a href="#a15a5d87e4e241ab519753659e0ce1b5d"></a><br/></dl><li><a class="el" href="classXalanAttr.html">XalanAttr</a> * <a class="el" href="classXercesDocumentWrapper.html#a4b6bd5b09c80401a4c555e64d4b4451e">mapNode</a> (const <a class="el" href="XercesWrapperTypes_8hpp.html#a5631f7cba74f8b199eb64082d2c82926">DOMAttrType</a> *theXercesNode) const 
<dl class="el"><dd class="mdescRight">Map a Xerces node to the corresponding wrapper node.  <a href="#a4b6bd5b09c80401a4c555e64d4b4451e"></a><br/></dl><li><a class="el" href="classXalanElement.html">XalanElement</a> * <a class="el" href="classXercesDocumentWrapper.html#a2204a07bcfc8e9735102c9764f3ba471">mapNode</a> (const <a class="el" href="XercesWrapperTypes_8hpp.html#a8b4aff177564e22655badc8824d16d0a">DOMElementType</a> *theXercesNode) const 
<dl class="el"><dd class="mdescRight">Map a Xerces node to the corresponding wrapper node.  <a href="#a2204a07bcfc8e9735102c9764f3ba471"></a><br/></dl><li>const <a class="el" href="XercesWrapperTypes_8hpp.html#a6b6ee47b1b3c022ca18de297802d52ea">DOMNodeType</a> * <a class="el" href="classXercesDocumentWrapper.html#a26725e0efbc44530366153c83a1d77c0">mapNode</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *theXalanNode) const 
<dl class="el"><dd class="mdescRight">Map a <a class="el" href="classXalanNode.html">XalanNode</a> to the corresponding Xerces node.  <a href="#a26725e0efbc44530366153c83a1d77c0"></a><br/></dl><li>const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a> * <a class="el" href="classXercesDocumentWrapper.html#ae072c1ed27f000fb66d75fd4fe9feb63">getXercesDocument</a> () const 
<dl class="el"><dd class="mdescRight">Get the Xerces DOMDocument that this XercesDocument represents.  <a href="#ae072c1ed27f000fb66d75fd4fe9feb63"></a><br/></dl><li>void <a class="el" href="classXercesDocumentWrapper.html#aaaa95c6b89d6a93ece2b3c7d3247bc35">buildWrapperNodes</a> ()
<dl class="el"><dd class="mdescRight">Build the entire bridge structure.  <a href="#aaaa95c6b89d6a93ece2b3c7d3247bc35"></a><br/></dl><li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#a34d386eeca9e3ecfe6daaabff528d7a8">getPooledString</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theString) const 
<dl class="el"><dd class="mdescRight">Get a pooled string.  <a href="#a34d386eeca9e3ecfe6daaabff528d7a8"></a><br/></dl><li>const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <a class="el" href="classXercesDocumentWrapper.html#aecee38c1a63786c63e309a7ad544572f">getPooledString</a> (const XalanDOMChar *theString, <a class="el" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a> theLength=XalanDOMString::npos) const 
<dl class="el"><dd class="mdescRight">Get a pooled string.  <a href="#aecee38c1a63786c63e309a7ad544572f"></a><br/></dl><li>bool <a class="el" href="classXercesDocumentWrapper.html#ad34de4a7b367975558cbee9cf4576a1f">getMappingMode</a> () const 
</ul>
<h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2>
<ul>
<li>static <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> * <a class="el" href="classXercesDocumentWrapper.html#a70fbfc592431f93cf9b5ec099ea7a0d5">create</a> (MemoryManager &amp;theManager, const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a> *theXercesDocument, bool threadSafe, bool buildWrapper, bool buildMaps)
</ul>
<h2><a name="friends"></a>
Friends</h2>
<ul>
<li>class <a class="el" href="classXercesDocumentWrapper.html#a8a4f74e3cec6f569c1229a8b2c1e7ba0">XercesWrapperNavigator</a>
<li>class <a class="el" href="classXercesDocumentWrapper.html#a215da58984f7d0fa755816e0179cead4">BuildWrapperTreeWalker</a>
</ul>
<hr/><a name="_details"></a><h2>Detailed Description</h2>

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00077">77</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>
<hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="a4a9a5191b8e5b7c7261c5bc96c916bbb"></a><!-- doxytag: member="XercesDocumentWrapper::NodeVectorType" ref="a4a9a5191b8e5b7c7261c5bc96c916bbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classXalanVector.html">XalanVector</a>&lt;<a class="el" href="classXalanNode.html">XalanNode</a>*&gt; <a class="el" href="classXalanVector.html">XercesDocumentWrapper::NodeVectorType</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00274">274</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a202dc804b37a9c1423eb4bcf92a9e388"></a><!-- doxytag: member="XercesDocumentWrapper::XercesDocumentWrapper" ref="a202dc804b37a9c1423eb4bcf92a9e388" args="(MemoryManager &amp;theManager, const DOMDocument_Type *theXercesDocument, bool threadSafe=true, bool buildWrapper=true, bool buildMaps=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XercesDocumentWrapper::XercesDocumentWrapper </td>
          <td>(</td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theManager</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a> *&nbsp;</td>
          <td class="paramname"> <em>theXercesDocument</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>threadSafe</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>buildWrapper</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>buildMaps</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>. </p>
<p>If the document will be shared amongst multiple threads of execution, the parameter buildWrapper must be true. Otherwise, the bridge nodes will be built on demand, a process which is not synchronized. This could cause serious problems if multiple threads tried to visit an unbuilt node at the same time.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theXercesDocument</em>&nbsp;</td><td>The Xerces document to bridge </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>threadSafe</em>&nbsp;</td><td>If true, the tree can safely be shared amongst multiple threads. (Also implies buildWrapper == true) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buildWrapper</em>&nbsp;</td><td>If true, all of the bridge nodes will be built during construction. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buildMaps</em>&nbsp;</td><td>If true, a map of Xerces to Xalan nodes will be built, even if the bridge is built </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afbebc6e1a2b0035283506092d07201d3"></a><!-- doxytag: member="XercesDocumentWrapper::~XercesDocumentWrapper" ref="afbebc6e1a2b0035283506092d07201d3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual XercesDocumentWrapper::~XercesDocumentWrapper </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aaaa95c6b89d6a93ece2b3c7d3247bc35"></a><!-- doxytag: member="XercesDocumentWrapper::buildWrapperNodes" ref="aaaa95c6b89d6a93ece2b3c7d3247bc35" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XercesDocumentWrapper::buildWrapperNodes </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Build the entire bridge structure. </p>
<p>This should be done before any processing begins, if the tree will be shared amongst multiple threads. </p>

</div>
</div>
<a class="anchor" id="a70fbfc592431f93cf9b5ec099ea7a0d5"></a><!-- doxytag: member="XercesDocumentWrapper::create" ref="a70fbfc592431f93cf9b5ec099ea7a0d5" args="(MemoryManager &amp;theManager, const DOMDocument_Type *theXercesDocument, bool threadSafe, bool buildWrapper, bool buildMaps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a>* XercesDocumentWrapper::create </td>
          <td>(</td>
          <td class="paramtype">MemoryManager &amp;&nbsp;</td>
          <td class="paramname"> <em>theManager</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a> *&nbsp;</td>
          <td class="paramname"> <em>theXercesDocument</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>threadSafe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>buildWrapper</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>buildMaps</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aff7f7864d3372fa9a32a3ca57f5089ec"></a><!-- doxytag: member="XercesDocumentWrapper::destroyWrapper" ref="aff7f7864d3372fa9a32a3ca57f5089ec" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XercesDocumentWrapper::destroyWrapper </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy the entire bridge structure that connects the Xerces document to this <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> instance. </p>
<p>This will invalidate any pointers to any nodes in the document (except, of course, the document itself). </p>

</div>
</div>
<a class="anchor" id="ab4602cd3ce9e596069e039dc0f725886"></a><!-- doxytag: member="XercesDocumentWrapper::getAttributes" ref="ab4602cd3ce9e596069e039dc0f725886" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>* XercesDocumentWrapper::getAttributes </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it is an <code>Element</code>) or <code>null</code> otherwise. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a6f780b399f97a59a4061aafd26ef31b3">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a2b031845d36255db7bc6bd6974732889"></a><!-- doxytag: member="XercesDocumentWrapper::getChildNodes" ref="a2b031845d36255db7bc6bd6974732889" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanNodeList.html">XalanNodeList</a>* XercesDocumentWrapper::getChildNodes </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a <code>NodeList</code> that contains all children of this node. </p>
<p>If there are no children, this is a <code>NodeList</code> containing no nodes. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a4f871bc14fc245470c488cbb94c49598">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="ae5927e6208d55041104d232249e62402"></a><!-- doxytag: member="XercesDocumentWrapper::getDocumentElement" ref="ae5927e6208d55041104d232249e62402" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanElement.html">XalanElement</a>* XercesDocumentWrapper::getDocumentElement </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a reference to the root element of the document. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a221e083ef4d1f6021808ade142343a75">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="accb9a91736b7d30f9cafb47a2fc7fa16"></a><!-- doxytag: member="XercesDocumentWrapper::getElementById" ref="accb9a91736b7d30f9cafb47a2fc7fa16" args="(const XalanDOMString &amp;elementId) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanElement.html">XalanElement</a>* XercesDocumentWrapper::getElementById </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>elementId</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the <code>Element</code> whose ID is given by <code>elementId</code>. </p>
<p>If no such element exists, returns <code>null</code>. Behavior is not defined if more than one element has this <code>ID</code>. </p>
<p><b>Note:</b> The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "ID" are not of type ID unless so defined. Implementations that do not know whether attributes are of type ID or not are expected to return <code>null</code>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>elementId</em>&nbsp;</td><td>The unique <code>id</code> value for an element. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The matching element. </dd></dl>

<p>Implements <a class="el" href="classXalanDocument.html#ac1c7a8f3d1ae9adced5ced4da4bebc3c">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a8c3b6033c198be33cde97a45ad71a8a8"></a><!-- doxytag: member="XercesDocumentWrapper::getFirstChild" ref="a8c3b6033c198be33cde97a45ad71a8a8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::getFirstChild </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the first child of this node. </p>
<p>If there is no such node, this returns <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a40aed14a5893812182104732dd6bf448">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a98789cb01ae42ed52b209dbeaecbf445"></a><!-- doxytag: member="XercesDocumentWrapper::getIndex" ref="a98789cb01ae42ed52b209dbeaecbf445" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html#a737e6c797973546c10650cd72cc5f8ab">IndexType</a> XercesDocumentWrapper::getIndex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the node's index. </p>
<p>Valid only if <a class="el" href="classXercesDocumentWrapper.html#aaf9669618ddb4c46981c75e95beece65" title="Determine if the document is node-order indexed.">isIndexed()</a> reports that the document is node-order indexed.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The index value, or 0 if the node is not indexed. </dd></dl>

<p>Implements <a class="el" href="classXalanDocument.html#a20b724b7aca87bf85cf082abf1a4e5dd">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="af3284f6eea4985f3de642d8398d3aaa7"></a><!-- doxytag: member="XercesDocumentWrapper::getLastChild" ref="af3284f6eea4985f3de642d8398d3aaa7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::getLastChild </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the last child of this node. </p>
<p>If there is no such node, this returns <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#af4e20f8a532dfcd0fa71fc812f41f08e">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="aec45c316d224e45daf5a8ddf3c8565ae"></a><!-- doxytag: member="XercesDocumentWrapper::getLocalName" ref="aec45c316d224e45daf5a8ddf3c8565ae" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getLocalName </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the local part of the <em>qualified name</em> of this node. </p>
<p>For nodes created with a DOM Level 1 method, such as <code>createElement</code> from the <code>Document</code> interface, it is null. </p>

<p>Implements <a class="el" href="classXalanDocument.html#ad14578d1413a7449303e5992b81aaeb8">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="ad34de4a7b367975558cbee9cf4576a1f"></a><!-- doxytag: member="XercesDocumentWrapper::getMappingMode" ref="ad34de4a7b367975558cbee9cf4576a1f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool XercesDocumentWrapper::getMappingMode </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00358">358</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a243294dc0f85cce3580e46478b0079bd"></a><!-- doxytag: member="XercesDocumentWrapper::getMemoryManager" ref="a243294dc0f85cce3580e46478b0079bd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MemoryManager&amp; XercesDocumentWrapper::getMemoryManager </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00115">115</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="ae9fd672f9b48e146fb1ed5f4e751ae19"></a><!-- doxytag: member="XercesDocumentWrapper::getNamespaceURI" ref="ae9fd672f9b48e146fb1ed5f4e751ae19" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getNamespaceURI </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the <em>namespace URI</em> of this node, or <code>null</code> if it is unspecified. </p>
<p>This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time. </p>
<p>For nodes of any type other than <code>ELEMENT_NODE</code> and <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 method, such as <code>createElement</code> from the <code>Document</code> interface, this is always <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a34fdda83e4d9b7668dc5bbb2f898fe8f">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a6b0e901290344d2643bc16008a39b505"></a><!-- doxytag: member="XercesDocumentWrapper::getNextSibling" ref="a6b0e901290344d2643bc16008a39b505" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::getNextSibling </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the node immediately following this node. </p>
<p>If there is no such node, this returns <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#aa1a48dc7ac782fb271f40aad03d739e9">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a99d06b0273dd4b22ef529288a9244bbc"></a><!-- doxytag: member="XercesDocumentWrapper::getNodeName" ref="a99d06b0273dd4b22ef529288a9244bbc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getNodeName </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the name of this node, depending on its type. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a767a782c047d8c43cd43032b6df9dcb3">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a94dfbcb4f99546333dd04011427ddee6"></a><!-- doxytag: member="XercesDocumentWrapper::getNodeType" ref="a94dfbcb4f99546333dd04011427ddee6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">NodeType</a> XercesDocumentWrapper::getNodeType </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>An enum value representing the type of the underlying object. </p>

<p>Implements <a class="el" href="classXalanDocument.html#abe9c0c303d54375830249ffd3d295f1e">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a379029bcacc4a4e4e5f7526b6ccd5ddb"></a><!-- doxytag: member="XercesDocumentWrapper::getNodeValue" ref="a379029bcacc4a4e4e5f7526b6ccd5ddb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getNodeValue </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the value of this node, depending on its type. </p>

<p>Implements <a class="el" href="classXalanDocument.html#aec39b7e2b9056078873048f847b5537f">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a6ba4a941e41bdc86cc09419f989702ae"></a><!-- doxytag: member="XercesDocumentWrapper::getOwnerDocument" ref="a6ba4a941e41bdc86cc09419f989702ae" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanDocument.html">XalanDocument</a>* XercesDocumentWrapper::getOwnerDocument </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the <code>Document</code> object associated with this node. </p>
<p>This is also the <code>Document</code> object used to create new nodes. When this node is a <code>Document</code> or a <code>DocumentType</code> which is not used with any <code>Document</code> yet, this is <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a2168be74232dc647fb91e843085892ec">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="ae789b254483586183cd289f93fa79f27"></a><!-- doxytag: member="XercesDocumentWrapper::getParentNode" ref="ae789b254483586183cd289f93fa79f27" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::getParentNode </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the parent of this node. </p>
<p>All nodes, except <code>Document</code>, <code>DocumentFragment</code>, and <code>Attr</code> may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, a <code>null</code> Node is returned. </p>

<p>Implements <a class="el" href="classXalanDocument.html#ae1bcebaba504525c645a7dc73b0a0596">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a34d386eeca9e3ecfe6daaabff528d7a8"></a><!-- doxytag: member="XercesDocumentWrapper::getPooledString" ref="a34d386eeca9e3ecfe6daaabff528d7a8" args="(const XalanDOMString &amp;theString) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getPooledString </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>theString</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a pooled string. </p>
<p>If the string is not in the pool, add it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to pool. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the pooled string. </dd></dl>

</div>
</div>
<a class="anchor" id="aecee38c1a63786c63e309a7ad544572f"></a><!-- doxytag: member="XercesDocumentWrapper::getPooledString" ref="aecee38c1a63786c63e309a7ad544572f" args="(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getPooledString </td>
          <td>(</td>
          <td class="paramtype">const XalanDOMChar *&nbsp;</td>
          <td class="paramname"> <em>theString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classXalanDOMString.html#ab8b91a47f3335d6c54c49029dd1074f2">XalanDOMString::size_type</a>&nbsp;</td>
          <td class="paramname"> <em>theLength</em> = <code>XalanDOMString::npos</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a pooled string. </p>
<p>If the string is not in the pool, add it.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theString</em>&nbsp;</td><td>The string to pool. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>theLength</em>&nbsp;</td><td>The length of the string. If <a class="el" href="classXalanDOMString.html#a738c3684088f21a02e16a8a44e525063a79a8556da86ea1ccd6630e6221c1b424">XalanDOMString::npos</a>, the string is assumed to be null-terminated. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A const reference to the pooled string. </dd></dl>

</div>
</div>
<a class="anchor" id="aeb4f050e4d86ae56d3c1179ce1cbd1b9"></a><!-- doxytag: member="XercesDocumentWrapper::getPrefix" ref="aeb4f050e4d86ae56d3c1179ce1cbd1b9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; XercesDocumentWrapper::getPrefix </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the <em>namespace prefix</em> of this node, or <code>null</code> if it is unspecified. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a25cf68340afadd170d584f85b899c153">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a842745c18706ab58174348703a244bc1"></a><!-- doxytag: member="XercesDocumentWrapper::getPreviousSibling" ref="a842745c18706ab58174348703a244bc1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::getPreviousSibling </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the node immediately preceding this node. </p>
<p>If there is no such node, this returns <code>null</code>. </p>

<p>Implements <a class="el" href="classXalanDocument.html#a3cdbf028bac052902a3a85000e49703f">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="ae072c1ed27f000fb66d75fd4fe9feb63"></a><!-- doxytag: member="XercesDocumentWrapper::getXercesDocument" ref="ae072c1ed27f000fb66d75fd4fe9feb63" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="XercesDOMWrapperParsedSource_8hpp.html#aec35dfd80d4007df6a3aaa3285aa1b67">DOMDocument_Type</a>* XercesDocumentWrapper::getXercesDocument </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the Xerces DOMDocument that this XercesDocument represents. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Xerces DOMDocument instance. </dd></dl>

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00261">261</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="aaf9669618ddb4c46981c75e95beece65"></a><!-- doxytag: member="XercesDocumentWrapper::isIndexed" ref="aaf9669618ddb4c46981c75e95beece65" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool XercesDocumentWrapper::isIndexed </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine if the document is node-order indexed. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the document is indexed, otherwise false. </dd></dl>

<p>Implements <a class="el" href="classXalanDocument.html#af9c4290dff1b71796b878c85c8b5d8ab">XalanDocument</a>.</p>

</div>
</div>
<a class="anchor" id="a26725e0efbc44530366153c83a1d77c0"></a><!-- doxytag: member="XercesDocumentWrapper::mapNode" ref="a26725e0efbc44530366153c83a1d77c0" args="(XalanNode *theXalanNode) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="XercesWrapperTypes_8hpp.html#a6b6ee47b1b3c022ca18de297802d52ea">DOMNodeType</a>* XercesDocumentWrapper::mapNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classXalanNode.html">XalanNode</a> *&nbsp;</td>
          <td class="paramname"> <em>theXalanNode</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map a <a class="el" href="classXalanNode.html">XalanNode</a> to the corresponding Xerces node. </p>
<p>If the node not owned by this document, the function will throw <a class="el" href="classXalanDOMException.html">XalanDOMException</a> with the code WRONG_DOCUMENT_ERR.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theXalanNode</em>&nbsp;</td><td>The Xalan instance to map</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the corresponding <a class="el" href="classXalanNode.html">XalanNode</a> instance, or 0 if the node could not be mapped. </dd></dl>

</div>
</div>
<a class="anchor" id="a2204a07bcfc8e9735102c9764f3ba471"></a><!-- doxytag: member="XercesDocumentWrapper::mapNode" ref="a2204a07bcfc8e9735102c9764f3ba471" args="(const DOMElementType *theXercesNode) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXalanElement.html">XalanElement</a>* XercesDocumentWrapper::mapNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="XercesWrapperTypes_8hpp.html#a8b4aff177564e22655badc8824d16d0a">DOMElementType</a> *&nbsp;</td>
          <td class="paramname"> <em>theXercesNode</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map a Xerces node to the corresponding wrapper node. </p>
<p>If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theXercesNode</em>&nbsp;</td><td>The Xerces instance to map</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the corresponding <a class="el" href="classXalanNode.html">XalanNode</a> instance, or 0 if the node could not be mapped. </dd></dl>

</div>
</div>
<a class="anchor" id="a15a5d87e4e241ab519753659e0ce1b5d"></a><!-- doxytag: member="XercesDocumentWrapper::mapNode" ref="a15a5d87e4e241ab519753659e0ce1b5d" args="(const DOMNodeType *theXercesNode) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXalanNode.html">XalanNode</a>* XercesDocumentWrapper::mapNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="XercesWrapperTypes_8hpp.html#a6b6ee47b1b3c022ca18de297802d52ea">DOMNodeType</a> *&nbsp;</td>
          <td class="paramname"> <em>theXercesNode</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map a Xerces node to the corresponding wrapper node. </p>
<p>If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theXercesNode</em>&nbsp;</td><td>The Xerces instance to map</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the corresponding <a class="el" href="classXalanNode.html">XalanNode</a> instance, or 0 if the node could not be mapped. </dd></dl>

</div>
</div>
<a class="anchor" id="a4b6bd5b09c80401a4c555e64d4b4451e"></a><!-- doxytag: member="XercesDocumentWrapper::mapNode" ref="a4b6bd5b09c80401a4c555e64d4b4451e" args="(const DOMAttrType *theXercesNode) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classXalanAttr.html">XalanAttr</a>* XercesDocumentWrapper::mapNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="XercesWrapperTypes_8hpp.html#a5631f7cba74f8b199eb64082d2c82926">DOMAttrType</a> *&nbsp;</td>
          <td class="paramname"> <em>theXercesNode</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Map a Xerces node to the corresponding wrapper node. </p>
<p>If the constructor for the instance was called with the threadSafe or buildWrapper parameter equal to true, this call will fail.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>theXercesNode</em>&nbsp;</td><td>The Xerces instance to map</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the corresponding <a class="el" href="classXalanNode.html">XalanNode</a> instance, or 0 if the node could not be mapped. </dd></dl>

</div>
</div>
<a class="anchor" id="a4384f303773d165e4dff4c2e9e302a07"></a><!-- doxytag: member="XercesDocumentWrapper::rebuildWrapper" ref="a4384f303773d165e4dff4c2e9e302a07" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XercesDocumentWrapper::rebuildWrapper </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rebuild the entire bridge structure that connects the Xerces document to this <a class="el" href="classXercesDocumentWrapper.html">XercesDocumentWrapper</a> instance. </p>
<p>This destroys the bridge before rebuilding. </p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a215da58984f7d0fa755816e0179cead4"></a><!-- doxytag: member="XercesDocumentWrapper::BuildWrapperTreeWalker" ref="a215da58984f7d0fa755816e0179cead4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classXercesDocumentWrapper_1_1BuildWrapperTreeWalker.html">BuildWrapperTreeWalker</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00466">466</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<a class="anchor" id="a8a4f74e3cec6f569c1229a8b2c1e7ba0"></a><!-- doxytag: member="XercesDocumentWrapper::XercesWrapperNavigator" ref="a8a4f74e3cec6f569c1229a8b2c1e7ba0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="XercesDocumentWrapper_8hpp_source.html#l00081">81</a> of file <a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XercesDocumentWrapper_8hpp_source.html">XercesDocumentWrapper.hpp</a></li>
</ul>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">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="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
