<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>XalanSourceTreeComment  Class Reference</h1><code>#include &lt;<a class="el" href="XalanSourceTreeComment_8hpp-source.html">XalanSourceTreeComment.hpp</a>&gt;</code>
<p>
Inheritance diagram for XalanSourceTreeComment:<p><center><img src="classXalanSourceTreeComment__inherit__graph.gif" border="0" usemap="#XalanSourceTreeComment_inherit_map" alt="Inheritance graph"></center>
<map name="XalanSourceTreeComment_inherit_map">
<area href="classXalanComment.html" shape="rect" coords="40,192,149,168">
<area href="classXalanCharacterData.html" shape="rect" coords="27,117,162,93">
<area href="classXalanNode.html" shape="rect" coords="55,43,134,19">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XalanSourceTreeComment:<p><center><img src="classXalanSourceTreeComment__coll__graph.gif" border="0" usemap="#XalanSourceTreeComment_coll_map" alt="Collaboration graph"></center>
<map name="XalanSourceTreeComment_coll_map">
<area href="classXalanComment.html" shape="rect" coords="305,32,414,8">
<area href="classXalanNode.html" shape="rect" coords="37,139,117,115">
<area href="classXalanSourceTreeDocument.html" shape="rect" coords="270,172,449,148">
<area href="classXalanDOMString.html" shape="rect" coords="18,272,136,248">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXalanSourceTreeComment-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXalanSourceTreeComment.html#a0">XalanSourceTreeComment</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theData, <a class="el" href="classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a> *theOwnerDocument, <a class="el" href="classXalanNode.html">XalanNode</a> *theParentNode=0, <a class="el" href="classXalanNode.html">XalanNode</a> *thePreviousSibling=0, <a class="el" href="classXalanNode.html">XalanNode</a> *theNextSibling=0, <a class="el" href="classXalanNode.html#s0">IndexType</a> theIndex=0)
<dl class="el"><dd><font size=-1><em>Constructor.</em> <a href="#a0">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanSourceTreeComment.html#a1">~XalanSourceTreeComment</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanSourceTreeComment.html#a2">getNodeName</a> () const
<dl class="el"><dd><font size=-1><em>Gets the name of this node.</em> <a href="#a2">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.html#a12">getOwnerDocument</a> () const
<dl class="el"><dd><font size=-1><em>Gets the <code>DOM_Document</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classXalanSourceTreeComment.html#a35">setParent</a> (<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> *theParent)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a36">setParent</a> (<a class="el" href="classXalanSourceTreeDocumentFragment.html">XalanSourceTreeDocumentFragment</a> *theParent)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a37">setPreviousSibling</a> (XalanSourceTreeComment *thePreviousSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a38">setPreviousSibling</a> (<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> *thePreviousSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a39">setPreviousSibling</a> (<a class="el" href="classXalanSourceTreeProcessingInstruction.html">XalanSourceTreeProcessingInstruction</a> *thePreviousSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a40">setPreviousSibling</a> (<a class="el" href="classXalanSourceTreeText.html">XalanSourceTreeText</a> *thePreviousSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a41">appendSiblingNode</a> (XalanSourceTreeComment *theSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a42">appendSiblingNode</a> (<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> *theSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a43">appendSiblingNode</a> (<a class="el" href="classXalanSourceTreeProcessingInstruction.html">XalanSourceTreeProcessingInstruction</a> *theSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a44">appendSiblingNode</a> (<a class="el" href="classXalanSourceTreeText.html">XalanSourceTreeText</a> *theSibling)
<li>void <a class="el" href="classXalanSourceTreeComment.html#a45">setIndex</a> (<a class="el" href="classXalanNode.html#s0">IndexType</a> theIndex)
</ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual XalanSourceTreeComment* <a class="el" href="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.html#a20">normalize</a> ()
<dl class="el"><dd><font size=-1><em>Puts all <code>DOM_Text</code> nodes in the full depth of the sub-tree underneath this <code>DOM_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>DOM_Text</code> nodes, i.e., there are no adjacent <code>DOM_Text</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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="classXalanSourceTreeComment.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>
<tr><td colspan="2"><div class="groupHeader">Getter functions.</div></td></tr>
<ul>
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanSourceTreeComment.html#a28">getData</a> () const
<dl class="el"><dd><font size=-1><em>Returns the character data of the node that implements this interface.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>virtual unsigned int <a class="el" href="classXalanSourceTreeComment.html#a29">getLength</a> () const
<dl class="el"><dd><font size=-1><em>Returns the number of characters that are available through <code>data</code> and the <code>substringData</code> method below.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanSourceTreeComment.html#a30">substringData</a> (unsigned int offset, unsigned int count, <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theBuffer) const
<dl class="el"><dd><font size=-1><em>Extracts a range of data from the node.</em> <a href="#a30">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions that set or change data.</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXalanSourceTreeComment.html#a31">appendData</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;arg)
<dl class="el"><dd><font size=-1><em>Append the string to the end of the character data of the node.</em> <a href="#a31">More...</a><em><br><br></em></font></dl><li>virtual void <a class="el" href="classXalanSourceTreeComment.html#a32">insertData</a> (unsigned int offset, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;arg)
<dl class="el"><dd><font size=-1><em>Insert a string at the specified character offset.</em> <a href="#a32">More...</a><em><br><br></em></font></dl><li>virtual void <a class="el" href="classXalanSourceTreeComment.html#a33">deleteData</a> (unsigned int offset, unsigned int count)
<dl class="el"><dd><font size=-1><em>Remove a range of characters from the node.</em> <a href="#a33">More...</a><em><br><br></em></font></dl><li>virtual void <a class="el" href="classXalanSourceTreeComment.html#a34">replaceData</a> (unsigned int offset, unsigned int count, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;arg)
<dl class="el"><dd><font size=-1><em>Replace the characters starting at the specified character offset with the specified string.</em> <a href="#a34">More...</a><em><br><br></em></font></dl></ul>
<h2>Static Public Methods</h2>
<ul>
<li>void <a class="el" href="classXalanSourceTreeComment.html#d0">initialize</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager)
<dl class="el"><dd><font size=-1><em>Perform static initialization.</em> <a href="#d0">More...</a><em><br><br></em></font></dl><li>void <a class="el" href="classXalanSourceTreeComment.html#d1">terminate</a> ()
<dl class="el"><dd><font size=-1><em>Perform static shut down.</em> <a href="#d1">More...</a><em><br><br></em></font></dl></ul>
<h2>Protected Methods</h2>
<ul>
<li><a class="el" href="classXalanSourceTreeComment.html#b0">XalanSourceTreeComment</a> (const XalanSourceTreeComment &amp;theSource, bool deep=false)
</ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XalanSourceTreeComment::XalanSourceTreeComment"></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> 
XalanSourceTreeComment::XalanSourceTreeComment (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>theData</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanSourceTreeDocument.html">XalanSourceTreeDocument</a> * <em>theOwnerDocument</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>theParentNode</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>thePreviousSibling</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>theNextSibling</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html#s0">IndexType</a> <em>theIndex</em> = 0&nbsp;)
          </b></td>
        </tr>

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

<p>
Constructor.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>theData</em>
&nbsp;</td><td>
The text data of the node. </td></tr>
<tr><td valign=top><em>theOwnerDocument</em>
&nbsp;</td><td>
The owner document of the comment node. </td></tr>
<tr><td valign=top><em>theParentNode</em>
&nbsp;</td><td>
The parent node, if any. </td></tr>
<tr><td valign=top><em>thePreviousSibling</em>
&nbsp;</td><td>
The previous sibling, if any. </td></tr>
<tr><td valign=top><em>theNextSibling</em>
&nbsp;</td><td>
The next sibling, if any. </td></tr>
<tr><td valign=top><em>theIndex</em>
&nbsp;</td><td>
The document-order index of the node. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a1" doxytag="XalanSourceTreeComment::~XalanSourceTreeComment"></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> 
XalanSourceTreeComment::~XalanSourceTreeComment (
          </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="XalanSourceTreeComment::XalanSourceTreeComment"></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> 
XalanSourceTreeComment::XalanSourceTreeComment (
          </b></td>
          <td valign="bottom"><b>
const XalanSourceTreeComment &amp; <em>theSource</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
bool <em>deep</em> = false&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="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a17">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a31" doxytag="XalanSourceTreeComment::appendData"></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 XalanSourceTreeComment::appendData (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>arg</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>
Append the string to the end of the character data of the node.
<p>
Upon success, <code>data</code> provides access to the concatenation of  <code>data</code> and the <code>DOMString</code> specified. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>arg</em>
&nbsp;</td><td>
The <code>DOMString</code> to append. </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>
 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a31">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a44" doxytag="XalanSourceTreeComment::appendSiblingNode"></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 XalanSourceTreeComment::appendSiblingNode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeText.html">XalanSourceTreeText</a> * <em>theSibling</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="a43" doxytag="XalanSourceTreeComment::appendSiblingNode"></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 XalanSourceTreeComment::appendSiblingNode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeProcessingInstruction.html">XalanSourceTreeProcessingInstruction</a> * <em>theSibling</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="a42" doxytag="XalanSourceTreeComment::appendSiblingNode"></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 XalanSourceTreeComment::appendSiblingNode (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> * <em>theSibling</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="a41" doxytag="XalanSourceTreeComment::appendSiblingNode"></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 XalanSourceTreeComment::appendSiblingNode (
          </b></td>
          <td valign="bottom"><b>
XalanSourceTreeComment * <em>theSibling</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="a13" doxytag="XalanSourceTreeComment::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> 
XalanSourceTreeComment * XalanSourceTreeComment::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="classXalanComment.html#a13">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a33" doxytag="XalanSourceTreeComment::deleteData"></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 XalanSourceTreeComment::deleteData (
          </b></td>
          <td valign="bottom"><b>
unsigned int <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
unsigned int <em>count</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>
Remove a range of characters from the node.
<p>
Upon success,  <code>data</code> and <code>length</code> reflect the change. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
The offset from which to remove characters. </td></tr>
<tr><td valign=top><em>count</em>
&nbsp;</td><td>
The number of characters to delete. If the sum of  <code>offset</code> and <code>count</code> exceeds <code>length</code>  then all characters from <code>offset</code> to the end of the data  are deleted. </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>
 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater  than the number of characters in <code>data</code>, or if the  specified <code>count</code> is negative. <br>
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a33">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a11">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a6">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XalanSourceTreeComment::getData"></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; XalanSourceTreeComment::getData (
          </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 character data of the node that implements this interface.
<p>
The DOM implementation may not put arbitrary limits on the amount of data that  may be stored in a <code>CharacterData</code> node. However,  implementation limits may mean that the entirety of a node's data may  not fit into a single <code>DOMString</code>. In such cases, the user  may call <code>substringData</code> to retrieve the data in  appropriately sized pieces. <dl compact><dt>
<b>Exceptions: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>DOMException</em>
&nbsp;</td><td>
 NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. </td></tr>
<tr><td valign=top><em>DOMException</em>
&nbsp;</td><td>
 DOMSTRING_SIZE_ERR: Raised when it would return more characters than  fit in a <code>DOMString</code> variable on the implementation  platform. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a28">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a7">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XalanSourceTreeComment::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> XalanSourceTreeComment::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="classXalanComment.html#a27">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a8">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XalanSourceTreeComment::getLength"></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> 
unsigned int XalanSourceTreeComment::getLength (
          </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 number of characters that are available through <code>data</code> and the <code>substringData</code> method below.
<p>
This may have the value  zero, i.e., <code>CharacterData</code> nodes may be empty. 
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a29">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XalanSourceTreeComment::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; XalanSourceTreeComment::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>DOM_Document</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a24">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XalanSourceTreeComment::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; XalanSourceTreeComment::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="classXalanComment.html#a22">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a10">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XalanSourceTreeComment::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; XalanSourceTreeComment::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>
Gets the name of this node.
<p>

<p>
Reimplemented from <a class="el" href="classXalanComment.html#a2">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XalanSourceTreeComment::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> XalanSourceTreeComment::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="classXalanComment.html#a4">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XalanSourceTreeComment::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; XalanSourceTreeComment::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="classXalanComment.html#a3">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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>DOM_Document</code> object associated with this node.
<p>
This is also the <code>DOM_Document</code> object used to create new nodes. When this node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code> which is not used with any <code>DOM_Document</code> yet, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a12">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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> DOM_Node is returned. 
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a5">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XalanSourceTreeComment::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; XalanSourceTreeComment::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="classXalanComment.html#a23">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a9">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a18" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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="classXalanComment.html#a18">XalanComment</a>.    </td>
  </tr>
</table>
<a name="d0" doxytag="XalanSourceTreeComment::initialize"></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 XalanSourceTreeComment::initialize (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</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>
Perform static initialization.
<p>
See class <a class="el" href="classXalanSourceTreeInit.html">XalanSourceTreeInit</a>.     </td>
  </tr>
</table>
<a name="a14" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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>DOM_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="classXalanComment.html#a14">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="XalanSourceTreeComment::insertData"></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 XalanSourceTreeComment::insertData (
          </b></td>
          <td valign="bottom"><b>
unsigned int <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>arg</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>
Insert a string at the specified character offset.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
The character offset at which to insert. </td></tr>
<tr><td valign=top><em>arg</em>
&nbsp;</td><td>
The <code>DOMString</code> to insert. </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>
 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater  than the number of characters in <code>data</code>. <br>
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a32">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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="classXalanComment.html#a26">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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="classXalanComment.html#a21">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a20" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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>DOM_Text</code> nodes in the full depth of the sub-tree underneath this <code>DOM_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>DOM_Text</code> nodes, i.e., there are no adjacent <code>DOM_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>DOM_CDATASections</code>,  the normalize operation alone may not be sufficient, since XPointers do  not differentiate between <code>DOM_Text</code> nodes and <code>DOM_CDATASection</code> nodes. 
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a20">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a16" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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="classXalanComment.html#a16">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a15" doxytag="XalanSourceTreeComment::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> * XalanSourceTreeComment::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>DOM_DocumentFragment</code> object, <code>oldChild</code> is replaced by all of the <code>DOM_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="classXalanComment.html#a15">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a34" doxytag="XalanSourceTreeComment::replaceData"></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 XalanSourceTreeComment::replaceData (
          </b></td>
          <td valign="bottom"><b>
unsigned int <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
unsigned int <em>count</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>arg</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>
Replace the characters starting at the specified character offset with the specified string.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
The offset from which to start replacing. </td></tr>
<tr><td valign=top><em>count</em>
&nbsp;</td><td>
The number of characters to replace. If the sum of  <code>offset</code> and <code>count</code> exceeds <code>length</code> , then all characters to the end of the data are replaced (i.e., the  effect is the same as a <code>remove</code> method call with the same  range, followed by an <code>append</code> method invocation). </td></tr>
<tr><td valign=top><em>arg</em>
&nbsp;</td><td>
The <code>DOMString</code> with which the range must be  replaced. </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>
 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater  than the number of characters in <code>data</code>, or if the  specified <code>count</code> is negative. <br>
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a34">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a45" doxytag="XalanSourceTreeComment::setIndex"></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 XalanSourceTreeComment::setIndex (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html#s0">IndexType</a> <em>theIndex</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="a19" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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="classXalanSourceTreeComment.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="classXalanComment.html#a19">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a36" doxytag="XalanSourceTreeComment::setParent"></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 XalanSourceTreeComment::setParent (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeDocumentFragment.html">XalanSourceTreeDocumentFragment</a> * <em>theParent</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="a35" doxytag="XalanSourceTreeComment::setParent"></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 XalanSourceTreeComment::setParent (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> * <em>theParent</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="a25" doxytag="XalanSourceTreeComment::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 XalanSourceTreeComment::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>DOM_Element</code> and <code>DOM_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="classXalanComment.html#a25">XalanComment</a>.    </td>
  </tr>
</table>
<a name="a40" doxytag="XalanSourceTreeComment::setPreviousSibling"></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 XalanSourceTreeComment::setPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeText.html">XalanSourceTreeText</a> * <em>thePreviousSibling</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="a39" doxytag="XalanSourceTreeComment::setPreviousSibling"></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 XalanSourceTreeComment::setPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeProcessingInstruction.html">XalanSourceTreeProcessingInstruction</a> * <em>thePreviousSibling</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="a38" doxytag="XalanSourceTreeComment::setPreviousSibling"></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 XalanSourceTreeComment::setPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanSourceTreeElement.html">XalanSourceTreeElement</a> * <em>thePreviousSibling</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="a37" doxytag="XalanSourceTreeComment::setPreviousSibling"></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 XalanSourceTreeComment::setPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
XalanSourceTreeComment * <em>thePreviousSibling</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="a30" doxytag="XalanSourceTreeComment::substringData"></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="classXalanDOMString.html">XalanDOMString</a> &amp; XalanSourceTreeComment::substringData (
          </b></td>
          <td valign="bottom"><b>
unsigned int <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
unsigned int <em>count</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>theBuffer</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>
Extracts a range of data from the node.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>offset</em>
&nbsp;</td><td>
Start offset of substring to extract. </td></tr>
<tr><td valign=top><em>count</em>
&nbsp;</td><td>
The number of characters to extract. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The specified substring. If the sum of <code>offset</code> and  <code>count</code> exceeds the <code>length</code>, then all  characters to the end of the data are returned. </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>
 INDEX_SIZE_ERR: Raised if the specified offset is negative or greater  than the number of characters in <code>data</code>, or if the  specified <code>count</code> is negative. <br>
DOMSTRING_SIZE_ERR: Raised if the specified range of text does not  fit into a <code>DOMString</code>. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanComment.html#a30">XalanComment</a>.    </td>
  </tr>
</table>
<a name="d1" doxytag="XalanSourceTreeComment::terminate"></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 XalanSourceTreeComment::terminate (
          </b></td>
          <td valign="bottom"><b>
)<code> [static]</code>
          </b></td>
        </tr>

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

<p>
Perform static shut down.
<p>
See class <a class="el" href="classXalanSourceTreeInit.html">XalanSourceTreeInit</a>.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XalanSourceTreeComment_8hpp-source.html">XalanSourceTreeComment.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>
