<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>XercesEntityWrapper  Class Reference</h1><code>#include &lt;<a class="el" href="XercesEntityWrapper_8hpp-source.html">XercesEntityWrapper.hpp</a>&gt;</code>
<p>
Inheritance diagram for XercesEntityWrapper:<p><center><img src="classXercesEntityWrapper__inherit__graph.gif" border="0" usemap="#XercesEntityWrapper_inherit_map" alt="Inheritance graph"></center>
<map name="XercesEntityWrapper_inherit_map">
<area href="classXalanEntity.html" shape="rect" coords="36,117,121,93">
<area href="classXalanNode.html" shape="rect" coords="39,42,118,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XercesEntityWrapper:<p><center><img src="classXercesEntityWrapper__coll__graph.gif" border="0" usemap="#XercesEntityWrapper_coll_map" alt="Collaboration graph"></center>
<map name="XercesEntityWrapper_coll_map">
<area href="classXalanEntity.html" shape="rect" coords="535,242,621,218">
<area href="classXalanNode.html" shape="rect" coords="418,42,498,18">
<area href="classXercesWrapperNavigator.html" shape="rect" coords="165,192,333,168">
<area href="classXercesNodeListWrapper.html" shape="rect" coords="278,293,438,269">
<area href="classXercesDocumentWrapper.html" shape="rect" coords="101,384,272,360">
<area href="classXalanNodeList.html" shape="rect" coords="357,192,458,168">
<area href="classXalanDOMString.html" shape="rect" coords="190,42,308,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXercesEntityWrapper-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXercesEntityWrapper.html#a0">XercesEntityWrapper</a> (const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a> *theXercesDOMEntity, const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp;theNavigator)
<li>virtual <a class="el" href="classXercesEntityWrapper.html#a1">~XercesEntityWrapper</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a2">getNodeName</a> () const
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a3">getNodeValue</a> () const
<dl class="el"><dd><font size=-1><em>Gets the value of this node, depending on its type.</em> <a href="#a3">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html#s14">NodeType</a> <a class="el" href="classXercesEntityWrapper.html#a4">getNodeType</a> () const
<dl class="el"><dd><font size=-1><em>An enum value representing the type of the underlying object.</em> <a href="#a4">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a5">getParentNode</a> () const
<dl class="el"><dd><font size=-1><em>Gets the parent of this node.</em> <a href="#a5">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNodeList.html">XalanNodeList</a>* <a class="el" href="classXercesEntityWrapper.html#a6">getChildNodes</a> () const
<dl class="el"><dd><font size=-1><em>Gets a <code>NodeList</code> that contains all children of this node.</em> <a href="#a6">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a7">getFirstChild</a> () const
<dl class="el"><dd><font size=-1><em>Gets the first child of this node.</em> <a href="#a7">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a8">getLastChild</a> () const
<dl class="el"><dd><font size=-1><em>Gets the last child of this node.</em> <a href="#a8">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a9">getPreviousSibling</a> () const
<dl class="el"><dd><font size=-1><em>Gets the node immediately preceding this node.</em> <a href="#a9">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a10">getNextSibling</a> () const
<dl class="el"><dd><font size=-1><em>Gets the node immediately following this node.</em> <a href="#a10">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>* <a class="el" href="classXercesEntityWrapper.html#a11">getAttributes</a> () const
<dl class="el"><dd><font size=-1><em>Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it is an <code>Element</code>) or <code>null</code> otherwise.</em> <a href="#a11">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDocument.html">XalanDocument</a>* <a class="el" href="classXercesEntityWrapper.html#a12">getOwnerDocument</a> () const
<dl class="el"><dd><font size=-1><em>Gets the <code>DOMDocument</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a28">getPublicId</a> () const
<dl class="el"><dd><font size=-1><em>Get the public identifier of this notation.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a29">getSystemId</a> () const
<dl class="el"><dd><font size=-1><em>Get the system identifier of this notation.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a30">getNotationName</a> () const
<dl class="el"><dd><font size=-1><em>For unparsed entities, the name of the notation for the entity.</em> <a href="#a30">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a>* <a class="el" href="classXercesEntityWrapper.html#a31">getXercesNode</a> () const
<dl class="el"><dd><font size=-1><em>Get the Xerces node this instance represent.</em> <a href="#a31">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual XercesEntityWrapper* <a class="el" href="classXercesEntityWrapper.html#a13">cloneNode</a> (bool deep) const
<dl class="el"><dd><font size=-1><em>Returns a duplicate of this node.</em> <a href="#a13">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions to modify the DOM Node.</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a14">insertBefore</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *refChild)
<dl class="el"><dd><font size=-1><em>Inserts the node <code>newChild</code> before the existing child node <code>refChild</code>.</em> <a href="#a14">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a15">replaceChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)
<dl class="el"><dd><font size=-1><em>Replaces the child node <code>oldChild</code> with <code>newChild</code> in the list of children, and returns the <code>oldChild</code> node.</em> <a href="#a15">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a16">removeChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)
<dl class="el"><dd><font size=-1><em>Removes the child node indicated by <code>oldChild</code> from the list of children, and returns it.</em> <a href="#a16">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXercesEntityWrapper.html#a17">appendChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild)
<dl class="el"><dd><font size=-1><em>Adds the node <code>newChild</code> to the end of the list of children of this node.</em> <a href="#a17">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Query functions.</div></td></tr>
<ul>
<li>virtual bool <a class="el" href="classXercesEntityWrapper.html#a18">hasChildNodes</a> () const
<dl class="el"><dd><font size=-1><em>This is a convenience method to allow easy determination of whether a node has any children.</em> <a href="#a18">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Set functions.</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXercesEntityWrapper.html#a19">setNodeValue</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;nodeValue)
<dl class="el"><dd><font size=-1><em>Sets the value of the node.</em> <a href="#a19">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions introduced in DOM Level 2.</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXercesEntityWrapper.html#a20">normalize</a> ()
<dl class="el"><dd><font size=-1><em>Puts all <code>DOMText</code> nodes in the full depth of the sub-tree underneath this <code>DOMNode</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>DOMText</code> nodes, i.e., there are no adjacent <code>DOMText</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesEntityWrapper.html#a21">isSupported</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;feature, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;version) const
<dl class="el"><dd><font size=-1><em>Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.</em> <a href="#a21">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a22">getNamespaceURI</a> () const
<dl class="el"><dd><font size=-1><em>Get the <em>namespace URI</em> of this node, or <code>null</code> if it is unspecified.</em> <a href="#a22">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a23">getPrefix</a> () const
<dl class="el"><dd><font size=-1><em>Get the <em>namespace prefix</em> of this node, or <code>null</code> if it is unspecified.</em> <a href="#a23">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesEntityWrapper.html#a24">getLocalName</a> () const
<dl class="el"><dd><font size=-1><em>Returns the local part of the <em>qualified name</em> of this node.</em> <a href="#a24">More...</a><em><br><br></em></font></dl><li>virtual void <a class="el" href="classXercesEntityWrapper.html#a25">setPrefix</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;prefix)
<dl class="el"><dd><font size=-1><em>Set the <em>namespace prefix</em> of this node.</em> <a href="#a25">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesEntityWrapper.html#a26">isIndexed</a> () const
<dl class="el"><dd><font size=-1><em>Determine if the document is node-order indexed.</em> <a href="#a26">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html#s0">IndexType</a> <a class="el" href="classXercesEntityWrapper.html#a27">getIndex</a> () const
<dl class="el"><dd><font size=-1><em>Get the node's index.</em> <a href="#a27">More...</a><em><br><br></em></font></dl></ul>
<h2>Static Public Methods</h2>
<ul>
<li>XercesEntityWrapper* <a class="el" href="classXercesEntityWrapper.html#d0">create</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager, const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a> *theXercesDOMEntity, const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp;theNavigator)
</ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XercesEntityWrapper::XercesEntityWrapper"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XercesEntityWrapper::XercesEntityWrapper (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a> * <em>theXercesDOMEntity</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp; <em>theNavigator</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="XercesEntityWrapper::~XercesEntityWrapper"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XercesEntityWrapper::~XercesEntityWrapper (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a17" doxytag="XercesEntityWrapper::appendChild"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::appendChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds the node <code>newChild</code> to the end of the list of children of this node.
<p>
If the <code>newChild</code> is already in the tree, it is first removed. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The node to add.If it is a <code>DocumentFragment</code> object, the entire contents of the document fragment are moved into the child list of this node </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node added. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a17">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="XercesEntityWrapper::cloneNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XercesEntityWrapper * XercesEntityWrapper::cloneNode (
          </b></td>
          <td valign="bottom"><b>
bool <em>deep</em>&nbsp;) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns a duplicate of this node.
<p>
This function serves as a generic copy constructor for nodes.
<p>
The duplicate node has no parent ( <code>parentNode</code> returns <code>null</code>.). <br>
Cloning an <code>Element</code> copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child <code>Text</code> node. Cloning any other type of node simply returns a copy of this node. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>deep</em>
&nbsp;</td><td>
If <code>true</code>, recursively clone the subtree under the specified node; if <code>false</code>, clone only the node itself (and its attributes, if it is an <code>Element</code>). </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The duplicate node. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a13">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="d0" doxytag="XercesEntityWrapper::create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XercesEntityWrapper * XercesEntityWrapper::create (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a> * <em>theXercesDOMEntity</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp; <em>theNavigator</em>&nbsp;)<code> [static]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a11" doxytag="XercesEntityWrapper::getAttributes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a> * XercesEntityWrapper::getAttributes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<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>
Reimplemented from <a class="el" href="classXalanEntity.html#a11">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XercesEntityWrapper::getChildNodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanNodeList.html">XalanNodeList</a> * XercesEntityWrapper::getChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a <code>NodeList</code> that contains all children of this node.
<p>
If there are no children, this is a <code>NodeList</code> containing no nodes. The content of the returned <code>NodeList</code> is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the <code>NodeList</code> accessors; it is not a static snapshot of the content of the node. This is true for every <code>NodeList</code>, including the ones returned by the <code>getElementsByTagName</code> method. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a6">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XercesEntityWrapper::getFirstChild"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::getFirstChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the first child of this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a7">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XercesEntityWrapper::getIndex"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html#s0">IndexType</a> XercesEntityWrapper::getIndex (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the node's index.
<p>
Valid only if the owner document reports that the document is node-order indexed.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The index value, or 0 if the node is not indexed. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a27">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XercesEntityWrapper::getLastChild"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::getLastChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the last child of this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a8">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XercesEntityWrapper::getLocalName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getLocalName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<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>DOMDocument</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a24">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XercesEntityWrapper::getNamespaceURI"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getNamespaceURI (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<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>
 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>
Reimplemented from <a class="el" href="classXalanEntity.html#a22">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XercesEntityWrapper::getNextSibling"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::getNextSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the node immediately following this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a10">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XercesEntityWrapper::getNodeName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getNodeName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a2">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XercesEntityWrapper::getNodeType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html#s14">NodeType</a> XercesEntityWrapper::getNodeType (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

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

<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a4">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XercesEntityWrapper::getNodeValue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getNodeValue (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

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

<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a3">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="XercesEntityWrapper::getNotationName"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getNotationName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
For unparsed entities, the name of the notation for the entity.
<p>
For parsed entities, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a30">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XercesEntityWrapper::getOwnerDocument"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanDocument.html">XalanDocument</a> * XercesEntityWrapper::getOwnerDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the <code>DOMDocument</code> object associated with this node.
<p>
This is also the <code>DOMDocument</code> object used to create new nodes. When this node is a <code>DOMDocument</code> or a <code>DOMDocumentType</code> which is not used with any <code>DOMDocument</code> yet, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a12">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XercesEntityWrapper::getParentNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::getParentNode (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the parent of this node.
<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> DOMNode is returned. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a5">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XercesEntityWrapper::getPrefix"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getPrefix (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

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

<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a23">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XercesEntityWrapper::getPreviousSibling"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::getPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the node immediately preceding this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a9">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XercesEntityWrapper::getPublicId"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getPublicId (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the public identifier of this notation.
<p>
If the public identifier was not  specified, this is <code>null</code>. <dl compact><dt>
<b>Returns: </b><dd>
Returns the public identifier of the notation </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a28">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XercesEntityWrapper::getSystemId"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XercesEntityWrapper::getSystemId (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the system identifier of this notation.
<p>
If the system identifier was not  specified, this is <code>null</code>. <dl compact><dt>
<b>Returns: </b><dd>
Returns the system identifier of the notation </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a29">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a31" doxytag="XercesEntityWrapper::getXercesNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="XercesWrapperTypes_8hpp.html#a9">DOMEntityType</a> * XercesEntityWrapper::getXercesNode (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the Xerces node this instance represent.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The Xerces node </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="XercesEntityWrapper::hasChildNodes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XercesEntityWrapper::hasChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
This is a convenience method to allow easy determination of whether a node has any children.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
<code>true</code> if the node has any children, <code>false</code> if the node has no children. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a18">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="XercesEntityWrapper::insertBefore"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::insertBefore (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>refChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Inserts the node <code>newChild</code> before the existing child node <code>refChild</code>.
<p>
If <code>refChild</code> is <code>null</code>, insert <code>newChild</code> at the end of the list of children. <br>
If <code>newChild</code> is a <code>DocumentFragment</code> object, all of its children are inserted, in the same order, before <code>refChild</code>. If the <code>newChild</code> is already in the tree, it is first removed. Note that a <code>DOMNode</code> that has never been assigned to refer to an actual node is == null. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The node to insert. </td></tr>
<tr><td valign=top><em>refChild</em>
&nbsp;</td><td>
The reference node, i.e., the node before which the new node must be inserted. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node being inserted. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a14">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="XercesEntityWrapper::isIndexed"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XercesEntityWrapper::isIndexed (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Determine if the document is node-order indexed.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
true if the document is indexed, otherwise false. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a26">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="XercesEntityWrapper::isSupported"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XercesEntityWrapper::isSupported (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>feature</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>version</em>&nbsp;) const<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>feature</em>
&nbsp;</td><td>
The string of the feature to test. This is the same name as what can be passed to the method <code>hasFeature</code> on <code>DOMImplementation</code>. </td></tr>
<tr><td valign=top><em>version</em>
&nbsp;</td><td>
This is the version number of the feature to test. In Level 2, version 1, this is the string "2.0". If the version is not specified, supporting any version of the feature will cause the method to return <code>true</code>. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
Returns <code>true</code> if the specified feature is supported on this node, <code>false</code> otherwise. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a21">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a20" doxytag="XercesEntityWrapper::normalize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XercesEntityWrapper::normalize (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Puts all <code>DOMText</code> nodes in the full depth of the sub-tree underneath this <code>DOMNode</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>DOMText</code> nodes, i.e., there are no adjacent <code>DOMText</code> nodes.
<p>
This can be used to ensure that the DOM view of a document is the  same as if it were saved and re-loaded, and is useful when operations  (such as XPointer lookups) that depend on a particular document tree  structure are to be used. 
<p>
<b>Note:</b> In cases where the document contains <code>DOMCDATASections</code>,  the normalize operation alone may not be sufficient, since XPointers do  not differentiate between <code>DOMText</code> nodes and <code>DOMCDATASection</code> nodes. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a20">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a16" doxytag="XercesEntityWrapper::removeChild"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::removeChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>oldChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Removes the child node indicated by <code>oldChild</code> from the list of children, and returns it.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oldChild</em>
&nbsp;</td><td>
The node being removed. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node removed. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a16">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a15" doxytag="XercesEntityWrapper::replaceChild"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XercesEntityWrapper::replaceChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>oldChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Replaces the child node <code>oldChild</code> with <code>newChild</code> in the list of children, and returns the <code>oldChild</code> node.
<p>
If <code>newChild</code> is a <code>DOMDocumentFragment</code> object, <code>oldChild</code> is replaced by all of the <code>DOMDocumentFragment</code> children, which are inserted in the same order.
<p>
If the <code>newChild</code> is already in the tree, it is first removed. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The new node to put in the child list. </td></tr>
<tr><td valign=top><em>oldChild</em>
&nbsp;</td><td>
The node being replaced in the list. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node replaced. </dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a15">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a19" doxytag="XercesEntityWrapper::setNodeValue"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XercesEntityWrapper::setNodeValue (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>nodeValue</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets the value of the node.
<p>
Any node which can have a nodeValue (<dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classXercesEntityWrapper.html#a3">getNodeValue</a>) will also accept requests to set it to a string. The exact response to this varies from node to node -- Attribute, for example, stores its values in its children and has to replace them with a new Text holding the replacement value.
<p>
</dl>For most types of Node, value is null and attempting to set it will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will also be thrown if the node is read-only. 
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a19">XalanEntity</a>.    </td>
  </tr>
</table>
<a name="a25" doxytag="XercesEntityWrapper::setPrefix"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void XercesEntityWrapper::setPrefix (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>prefix</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the <em>namespace prefix</em> of this node.
<p>

<p>
 Note that setting this attribute, when permitted, changes  the <code>nodeName</code> attribute, which holds the <em>qualified  name</em>, as well as the <code>tagName</code> and <code>name</code>  attributes of the <code>DOMElement</code> and <code>DOMAttr</code> interfaces, when applicable. 
<p>
 Note also that changing the prefix of an  attribute, that is known to have a default value, does not make a new  attribute with the default value and the original prefix appear, since the  <code>namespaceURI</code> and <code>localName</code> do not change.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>prefix</em>
&nbsp;</td><td>
The prefix of this node. </td></tr>
</table>
</dl><dl compact><dt>
<b>Exceptions: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>DOMException</em>
&nbsp;</td><td>
 INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character. <br>
 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. <br>
 NAMESPACE_ERR: Raised if the specified <code>prefix</code> is  malformed, if the specified prefix is "xml" and the  <code>namespaceURI</code> of this node is different from  "<a href="http://www.w3.org/XML/1998/namespace">http://www.w3.org/XML/1998/namespace</a>", if specified prefix is  "xmlns" and the <code>namespaceURI</code> is neither  <code>null</code> nor an empty string, or if the  <code>localName</code> is <code>null</code>. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanEntity.html#a25">XalanEntity</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XercesEntityWrapper_8hpp-source.html">XercesEntityWrapper.hpp</a></ul>
<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>
