<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>XalanDocument  Class Reference</h1><code>#include &lt;<a class="el" href="XalanDocument_8hpp-source.html">XalanDocument.hpp</a>&gt;</code>
<p>
Inheritance diagram for XalanDocument:<p><center><img src="classXalanDocument__inherit__graph.gif" border="0" usemap="#XalanDocument_inherit_map" alt="Inheritance graph"></center>
<map name="XalanDocument_inherit_map">
<area href="classXalanSourceTreeDocument.html" shape="rect" coords="6,192,185,168">
<area href="classXercesDocumentBridge.html" shape="rect" coords="209,192,366,168">
<area href="classXercesDocumentWrapper.html" shape="rect" coords="390,192,561,168">
<area href="classXalanNode.html" shape="rect" coords="248,42,327,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XalanDocument:<p><center><img src="classXalanDocument__coll__graph.gif" border="0" usemap="#XalanDocument_coll_map" alt="Collaboration graph"></center>
<map name="XalanDocument_coll_map">
<area href="classXalanNode.html" shape="rect" coords="21,42,101,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXalanDocument-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXalanDocument.html#a0">XalanDocument</a> ()
<li>virtual <a class="el" href="classXalanDocument.html#a1">~XalanDocument</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocument.html#a2">getNodeName</a> () const=0
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocument.html#a3">getNodeValue</a> () const=0
<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="classXalanDocument.html#a4">getNodeType</a> () const=0
<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="classXalanDocument.html#a5">getParentNode</a> () const=0
<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="classXalanDocument.html#a6">getChildNodes</a> () const=0
<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="classXalanDocument.html#a7">getFirstChild</a> () const=0
<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="classXalanDocument.html#a8">getLastChild</a> () const=0
<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="classXalanDocument.html#a9">getPreviousSibling</a> () const=0
<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="classXalanDocument.html#a10">getNextSibling</a> () const=0
<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="classXalanDocument.html#a11">getAttributes</a> () const=0
<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 XalanDocument* <a class="el" href="classXalanDocument.html#a12">getOwnerDocument</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the <code>Document</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a>* <a class="el" href="classXalanDocument.html#a28">createElement</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;tagName)=0
<dl class="el"><dd><font size=-1><em>Creates an element of the type specified.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDocumentFragment.html">XalanDocumentFragment</a>* <a class="el" href="classXalanDocument.html#a29">createDocumentFragment</a> ()=0
<dl class="el"><dd><font size=-1><em>Creates an empty DocumentFragment object.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanText.html">XalanText</a>* <a class="el" href="classXalanDocument.html#a30">createTextNode</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;data)=0
<dl class="el"><dd><font size=-1><em>Creates a Text node given the specified string.</em> <a href="#a30">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanComment.html">XalanComment</a>* <a class="el" href="classXalanDocument.html#a31">createComment</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;data)=0
<dl class="el"><dd><font size=-1><em>Creates a Comment node given the specified string.</em> <a href="#a31">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanCDATASection.html">XalanCDATASection</a>* <a class="el" href="classXalanDocument.html#a32">createCDATASection</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;data)=0
<dl class="el"><dd><font size=-1><em>Creates a CDATASection node whose value is the specified string.</em> <a href="#a32">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanProcessingInstruction.html">XalanProcessingInstruction</a>* <a class="el" href="classXalanDocument.html#a33">createProcessingInstruction</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;target, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;data)=0
<dl class="el"><dd><font size=-1><em>Creates a ProcessingInstruction node given the specified name and data strings.</em> <a href="#a33">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanAttr.html">XalanAttr</a>* <a class="el" href="classXalanDocument.html#a34">createAttribute</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;name)=0
<dl class="el"><dd><font size=-1><em>Creates an Attr of the given name.</em> <a href="#a34">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanEntityReference.html">XalanEntityReference</a>* <a class="el" href="classXalanDocument.html#a35">createEntityReference</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;name)=0
<dl class="el"><dd><font size=-1><em>Creates an EntityReference object.</em> <a href="#a35">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual XalanDocument* <a class="el" href="classXalanDocument.html#a13">cloneNode</a> (bool deep) const=0
<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="classXalanDocument.html#a14">insertBefore</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *refChild)=0
<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="classXalanDocument.html#a15">replaceChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)=0
<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="classXalanDocument.html#a16">removeChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)=0
<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="classXalanDocument.html#a17">appendChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild)=0
<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="classXalanDocument.html#a18">hasChildNodes</a> () const=0
<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="classXalanDocument.html#a19">setNodeValue</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;nodeValue)=0
<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="classXalanDocument.html#a20">normalize</a> ()=0
<dl class="el"><dd><font size=-1><em>Puts all <code>Text</code> nodes in the full depth of the sub-tree underneath this <code>Node</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>Text</code> nodes, i.e., there are no adjacent <code>Text</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXalanDocument.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=0
<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="classXalanDocument.html#a22">getNamespaceURI</a> () const=0
<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="classXalanDocument.html#a23">getPrefix</a> () const=0
<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="classXalanDocument.html#a24">getLocalName</a> () const=0
<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="classXalanDocument.html#a25">setPrefix</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;prefix)=0
<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="classXalanDocument.html#a26">isIndexed</a> () const=0
<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="classXalanDocument.html#a27">getIndex</a> () const=0
<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>
<tr><td colspan="2"><div class="groupHeader">Getter functions</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanDocumentType.html">XalanDocumentType</a>* <a class="el" href="classXalanDocument.html#a36">getDoctype</a> () const=0
<dl class="el"><dd><font size=-1><em>Get Document Type Declaration (see <code>DocumentType</code>) associated with this document.</em> <a href="#a36">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDOMImplementation.html">XalanDOMImplementation</a>* <a class="el" href="classXalanDocument.html#a37">getImplementation</a> () const=0
<dl class="el"><dd><font size=-1><em>Return the <code>DOMImplementation</code> object that handles this document.</em> <a href="#a37">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a>* <a class="el" href="classXalanDocument.html#a38">getDocumentElement</a> () const=0
<dl class="el"><dd><font size=-1><em>Return a reference to the root element of the document.</em> <a href="#a38">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNodeList.html">XalanNodeList</a>* <a class="el" href="classXalanDocument.html#a39">getElementsByTagName</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;tagname) const=0
<dl class="el"><dd><font size=-1><em>Returns a <code>NodeList</code> of all the elements with a given tag name.</em> <a href="#a39">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 <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocument.html#a40">importNode</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *importedNode, bool deep)=0
<dl class="el"><dd><font size=-1><em>Imports a node from another document to this document.</em> <a href="#a40">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a>* <a class="el" href="classXalanDocument.html#a41">createElementNS</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;namespaceURI, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;qualifiedName)=0
<dl class="el"><dd><font size=-1><em>Creates an element of the given qualified name and namespace URI.</em> <a href="#a41">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanAttr.html">XalanAttr</a>* <a class="el" href="classXalanDocument.html#a42">createAttributeNS</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;namespaceURI, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;qualifiedName)=0
<dl class="el"><dd><font size=-1><em>Creates an attribute of the given qualified name and namespace URI.</em> <a href="#a42">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNodeList.html">XalanNodeList</a>* <a class="el" href="classXalanDocument.html#a43">getElementsByTagNameNS</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;namespaceURI, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;localName) const=0
<dl class="el"><dd><font size=-1><em>Returns a <code>NodeList</code> of all the <code>Element</code>s with a given <em>local name</em> and namespace URI in the order in which they would be encountered in a preorder traversal of the <code>Document</code> tree.</em> <a href="#a43">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanElement.html">XalanElement</a>* <a class="el" href="classXalanDocument.html#a44">getElementById</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;elementId) const=0
<dl class="el"><dd><font size=-1><em>Returns the <code>Element</code> whose ID is given by <code>elementId</code>.</em> <a href="#a44">More...</a><em><br><br></em></font></dl></ul>
<h2>Protected Methods</h2>
<ul>
<li><a class="el" href="classXalanDocument.html#b0">XalanDocument</a> (const XalanDocument &amp;theSource)
<li>XalanDocument&amp; <a class="el" href="classXalanDocument.html#b1">operator=</a> (const XalanDocument &amp;theSource)
<li>bool <a class="el" href="classXalanDocument.html#b2">operator==</a> (const XalanDocument &amp;theRHS) const
</ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XalanDocument::XalanDocument"></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> 
XalanDocument::XalanDocument (
          </b></td>
          <td valign="bottom"><b>
)
          </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="XalanDocument::~XalanDocument"></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> 
XalanDocument::~XalanDocument (
          </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>
<a name="b0" doxytag="XalanDocument::XalanDocument"></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> 
XalanDocument::XalanDocument (
          </b></td>
          <td valign="bottom"><b>
const XalanDocument &amp; <em>theSource</em>&nbsp;)<code> [protected]</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="XalanDocument::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> * XalanDocument::appendChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>&nbsp;)<code> [pure 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="classXalanNode.html#a17">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a18">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a18">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a17">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="XalanDocument::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> 
XalanDocument * XalanDocument::cloneNode (
          </b></td>
          <td valign="bottom"><b>
bool <em>deep</em>&nbsp;) const<code> [pure 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="classXalanNode.html#a13">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a14">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a14">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a13">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a34" doxytag="XalanDocument::createAttribute"></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="classXalanAttr.html">XalanAttr</a> * XalanDocument::createAttribute (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>name</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an Attr of the given name.
<p>
Note that the <code>Attr</code> instance can then be attached to an Element using the <code>DOMElement::setAttribute()</code> method. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>name</em>
&nbsp;</td><td>
The name of the attribute. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A new <code>Attr</code>  object with the <code>nodeName</code> attribute set to  <code>name</code>, and <code>localName</code>, <code>prefix</code>,  and <code>namespaceURI</code> set to  <code>null</code>. </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 name contains an illegal character. </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a35">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a35">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a34">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a42" doxytag="XalanDocument::createAttributeNS"></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="classXalanAttr.html">XalanAttr</a> * XalanDocument::createAttributeNS (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>namespaceURI</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>qualifiedName</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an attribute of the given qualified name and namespace URI.
<p>

<p>
<b>"Experimental - subject to change"</b><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>namespaceURI</em>
&nbsp;</td><td>
The <em>namespace URI</em> of the attribute to create. </td></tr>
<tr><td valign=top><em>qualifiedName</em>
&nbsp;</td><td>
The <em>qualified name</em> of the attribute to instantiate. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A new <code>Attr</code> object. </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 qualified name contains an illegal character. <br>
 NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is  malformed, if the <code>qualifiedName</code> has a prefix and the  <code>namespaceURI</code> is <code>null</code> or an empty string,  if the <code>qualifiedName</code> has a prefix that is "xml" and the  <code>namespaceURI</code> is different from  "<a href="http://www.w3.org/XML/1998/namespace">http://www.w3.org/XML/1998/namespace</a>", if the  <code>qualifiedName</code> has a prefix that is "xmlns" and the  <code>namespaceURI</code> is different from  "<a href="http://www.w3.org/2000/xmlns/">http://www.w3.org/2000/xmlns/</a>", or if the  <code>qualifiedName</code> is "xmlns" and the  <code>namespaceURI</code> is different from  "<a href="http://www.w3.org/2000/xmlns/">http://www.w3.org/2000/xmlns/</a>". </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a43">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a43">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a42">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="XalanDocument::createCDATASection"></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="classXalanCDATASection.html">XalanCDATASection</a> * XalanDocument::createCDATASection (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>data</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates a CDATASection node whose value is the specified string.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>
&nbsp;</td><td>
The data for the <code>CDATASection</code> contents. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>CDATASection</code> object. </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>
 NOT_SUPPORTED_ERR: Raised if this document is an HTML document. </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a33">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a33">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a32">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a31" doxytag="XalanDocument::createComment"></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="classXalanComment.html">XalanComment</a> * XalanDocument::createComment (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>data</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates a Comment node given the specified string.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>
&nbsp;</td><td>
The data for the comment. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>Comment</code> that references the newly created comment node. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a32">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a32">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a31">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XalanDocument::createDocumentFragment"></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="classXalanDocumentFragment.html">XalanDocumentFragment</a> * XalanDocument::createDocumentFragment (
          </b></td>
          <td valign="bottom"><b>
)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an empty DocumentFragment object.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
A <code>DocumentFragment</code> that references the newly created document fragment. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a30">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a30">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a29">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XalanDocument::createElement"></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="classXalanElement.html">XalanElement</a> * XalanDocument::createElement (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>tagName</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an element of the type specified.
<p>
Note that the instance returned implements the Element interface, so attributes can be specified directly on the returned object. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagName</em>
&nbsp;</td><td>
The name of the element type to instantiate. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>Element</code> that reference the new element. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a29">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a29">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a28">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a41" doxytag="XalanDocument::createElementNS"></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="classXalanElement.html">XalanElement</a> * XalanDocument::createElementNS (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>namespaceURI</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>qualifiedName</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an element of the given qualified name and namespace URI.
<p>

<p>
<b>"Experimental - subject to change"</b><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>namespaceURI</em>
&nbsp;</td><td>
The <em>namespace URI</em> of the element to create. </td></tr>
<tr><td valign=top><em>qualifiedName</em>
&nbsp;</td><td>
The <em>qualified name</em> of the element type to instantiate. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A new <code>Element</code> object. </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 qualified name contains an illegal character. <br>
 NAMESPACE_ERR: Raised if the <code>qualifiedName</code> is  malformed, if the <code>qualifiedName</code> has a prefix and the  <code>namespaceURI</code> is <code>null</code> or an empty string,  or if the <code>qualifiedName</code> has a prefix that is "xml" and  the <code>namespaceURI</code> is different from  "<a href="http://www.w3.org/XML/1998/namespace">http://www.w3.org/XML/1998/namespace</a>". </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a42">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a42">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a41">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a35" doxytag="XalanDocument::createEntityReference"></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="classXalanEntityReference.html">XalanEntityReference</a> * XalanDocument::createEntityReference (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>name</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates an EntityReference object.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>name</em>
&nbsp;</td><td>
The name of the entity to reference. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>EntityReference</code> that references the newly created EntityReference node. </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 name contains an illegal character. </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a36">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a36">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a35">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a33" doxytag="XalanDocument::createProcessingInstruction"></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="classXalanProcessingInstruction.html">XalanProcessingInstruction</a> * XalanDocument::createProcessingInstruction (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>target</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>data</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates a ProcessingInstruction node given the specified name and data strings.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>target</em>
&nbsp;</td><td>
The target part of the processing instruction. </td></tr>
<tr><td valign=top><em>data</em>
&nbsp;</td><td>
The data for the node. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>ProcessingInstruction</code> that references the newly created PI node. </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 an illegal character is specified. </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a34">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a34">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a33">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="XalanDocument::createTextNode"></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="classXalanText.html">XalanText</a> * XalanDocument::createTextNode (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>data</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Creates a Text node given the specified string.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>
&nbsp;</td><td>
The data for the node. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A <code>Text</code> object that references the newly created text node. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a31">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a31">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a30">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="XalanDocument::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> * XalanDocument::getAttributes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a11">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a12">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a12">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a11">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XalanDocument::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> * XalanDocument::getChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a6">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a7">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a7">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a6">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a36" doxytag="XalanDocument::getDoctype"></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="classXalanDocumentType.html">XalanDocumentType</a> * XalanDocument::getDoctype (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Get Document Type Declaration (see <code>DocumentType</code>) associated with this document.
<p>
For documents without a document type declaration this returns <code>null</code> reference object. The DOM Level 1 does not support editing the Document Type Declaration, therefore <code>docType</code> cannot be altered in any way. 
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a37">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a37">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a36">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a38" doxytag="XalanDocument::getDocumentElement"></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="classXalanElement.html">XalanElement</a> * XalanDocument::getDocumentElement (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a39">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a39">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a38">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a44" doxytag="XalanDocument::getElementById"></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="classXalanElement.html">XalanElement</a> * XalanDocument::getElementById (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>elementId</em>&nbsp;) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Returns the <code>Element</code> whose ID is given by <code>elementId</code>.
<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>
<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>

<p>
<b>"Experimental - subject to change"</b><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>elementId</em>
&nbsp;</td><td>
The unique <code>id</code> value for an element. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The matching element. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a45">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a45">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a44">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a39" doxytag="XalanDocument::getElementsByTagName"></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="classXalanNodeList.html">XalanNodeList</a> * XalanDocument::getElementsByTagName (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>tagname</em>&nbsp;) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Returns a <code>NodeList</code> of all the elements with a given tag name.
<p>
The returned node list is "live", in that changes to the document tree made after a nodelist was initially returned will be immediately reflected in the node list.
<p>
The elements in the node list are ordered in the same order in which they would be encountered in a preorder traversal of the <code>Document</code> tree. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tagname</em>
&nbsp;</td><td>
The name of the tag to match on. The special value "*" matches all tags. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A reference to a NodeList containing all the matched <code>Element</code>s. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a40">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a40">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a39">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a43" doxytag="XalanDocument::getElementsByTagNameNS"></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="classXalanNodeList.html">XalanNodeList</a> * XalanDocument::getElementsByTagNameNS (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>namespaceURI</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>localName</em>&nbsp;) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Returns a <code>NodeList</code> of all the <code>Element</code>s with a given <em>local name</em> and namespace URI in the order in which they would be encountered in a preorder traversal of the <code>Document</code> tree.
<p>

<p>
<b>"Experimental - subject to change"</b><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>namespaceURI</em>
&nbsp;</td><td>
The <em>namespace URI</em> of the elements to match on. The special value "*" matches all namespaces. </td></tr>
<tr><td valign=top><em>localName</em>
&nbsp;</td><td>
The <em>local name</em> of the elements to match on. The special value "*" matches all local names. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
A new <code>NodeList</code> object containing all the matched <code>Element</code>s. </dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a44">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a44">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a43">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XalanDocument::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> * XalanDocument::getFirstChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a7">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a8">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a8">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a7">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a37" doxytag="XalanDocument::getImplementation"></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="classXalanDOMImplementation.html">XalanDOMImplementation</a> * XalanDocument::getImplementation (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Return the <code>DOMImplementation</code> object that handles this document.
<p>

<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a38">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a38">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a37">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XalanDocument::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> XalanDocument::getIndex (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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 <a class="el" href="classXalanDocument.html#a26">isIndexed</a>() 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="classXalanNode.html#a27">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a28">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a28">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a27">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XalanDocument::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> * XalanDocument::getLastChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a8">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a9">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a9">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a8">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XalanDocument::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; XalanDocument::getLocalName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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>Document</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a24">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a25">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a25">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a24">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XalanDocument::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; XalanDocument::getNamespaceURI (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a22">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a23">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a23">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a22">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XalanDocument::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> * XalanDocument::getNextSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a10">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a11">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a11">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a10">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XalanDocument::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; XalanDocument::getNodeName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a2">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a3">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a3">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a2">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XalanDocument::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> XalanDocument::getNodeType (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a4">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a5">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a5">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a4">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XalanDocument::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; XalanDocument::getNodeValue (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a3">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a4">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a4">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a3">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XalanDocument::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> 
XalanDocument * XalanDocument::getOwnerDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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>Document</code> object associated with this node.
<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>
Reimplemented from <a class="el" href="classXalanNode.html#a12">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a13">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a13">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a12">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XalanDocument::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> * XalanDocument::getParentNode (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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> Node is returned. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a5">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a6">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a6">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a5">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XalanDocument::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; XalanDocument::getPrefix (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a23">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a24">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a24">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a23">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XalanDocument::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> * XalanDocument::getPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a9">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a10">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a10">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a9">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a18" doxytag="XalanDocument::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 XalanDocument::hasChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a18">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a19">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a19">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a18">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a40" doxytag="XalanDocument::importNode"></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> * XalanDocument::importNode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>importedNode</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
bool <em>deep</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Imports a node from another document to this document.
<p>
The returned node has no parent (<code>parentNode</code> is  <code>null</code>). The source node is not altered or removed from the  original document; this method creates a new copy of the source  node.<br>
For all nodes, importing a node creates a node object owned by  the importing document, with attribute values identical to the source  node's <code>nodeName</code> and <code>nodeType</code>, plus the  attributes related to namespaces (prefix and namespaces URI).
<p>

<p>
<b>"Experimental - subject to change"</b><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>importedNode</em>
&nbsp;</td><td>
The node to import. </td></tr>
<tr><td valign=top><em>deep</em>
&nbsp;</td><td>
If <code>true</code>, recursively import the subtree under the  specified node; if <code>false</code>, import only the node itself,  as explained above. This does not apply to <code>Attr</code>,  <code>EntityReference</code>, and <code>Notation</code> nodes. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The imported node that belongs to this <code>Document</code>. </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>
 NOT_SUPPORTED_ERR: Raised if the type of node being imported is  not supported. </td></tr>
</table>
</dl>
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a41">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a41">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a40">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="XalanDocument::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> * XalanDocument::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> [pure 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>Node</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="classXalanNode.html#a14">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a15">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a15">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a14">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="XalanDocument::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 XalanDocument::isIndexed (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure 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="classXalanNode.html#a26">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a27">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a27">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a26">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="XalanDocument::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 XalanDocument::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> [pure 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="classXalanNode.html#a21">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a22">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a22">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a21">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a20" doxytag="XalanDocument::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 XalanDocument::normalize (
          </b></td>
          <td valign="bottom"><b>
)<code> [pure 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>Text</code> nodes in the full depth of the sub-tree underneath this <code>Node</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>Text</code> nodes, i.e., there are no adjacent <code>Text</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>CDATASections</code>,  the normalize operation alone may not be sufficient, since XPointers do  not differentiate between <code>Text</code> nodes and <code>CDATASection</code> nodes. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a20">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a21">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a21">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a20">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="b1" doxytag="XalanDocument::operator="></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> 
XalanDocument &amp; XalanDocument::operator= (
          </b></td>
          <td valign="bottom"><b>
const XalanDocument &amp; <em>theSource</em>&nbsp;)<code> [protected]</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="b2" doxytag="XalanDocument::operator=="></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 XalanDocument::operator== (
          </b></td>
          <td valign="bottom"><b>
const XalanDocument &amp; <em>theRHS</em>&nbsp;) const<code> [protected]</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="a16" doxytag="XalanDocument::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> * XalanDocument::removeChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>oldChild</em>&nbsp;)<code> [pure 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="classXalanNode.html#a16">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a17">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a17">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a16">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a15" doxytag="XalanDocument::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> * XalanDocument::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> [pure 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>DocumentFragment</code> object, <code>oldChild</code> is replaced by all of the <code>DocumentFragment</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="classXalanNode.html#a15">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a16">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a16">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a15">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a19" doxytag="XalanDocument::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 XalanDocument::setNodeValue (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>nodeValue</em>&nbsp;)<code> [pure 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="classXalanDocument.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="classXalanNode.html#a19">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a20">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a20">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a19">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<a name="a25" doxytag="XalanDocument::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 XalanDocument::setPrefix (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>prefix</em>&nbsp;)<code> [pure 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>Element</code> and <code>Attr</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="classXalanNode.html#a25">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXalanSourceTreeDocument.html#a26">XalanSourceTreeDocument</a>, <a class="el" href="classXercesDocumentWrapper.html#a26">XercesDocumentWrapper</a>, and <a class="el" href="classXercesDocumentBridge.html#a25">XercesDocumentBridge</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanDocument_8hpp-source.html">XalanDocument.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>
