<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>XercesCDATASectionWrapper  Class Reference</h1><code>#include &lt;<a class="el" href="XercesCDATASectionWrapper_8hpp-source.html">XercesCDATASectionWrapper.hpp</a>&gt;</code>
<p>
Inheritance diagram for XercesCDATASectionWrapper:<p><center><img src="classXercesCDATASectionWrapper__inherit__graph.gif" border="0" usemap="#XercesCDATASectionWrapper_inherit_map" alt="Inheritance graph"></center>
<map name="XercesCDATASectionWrapper_inherit_map">
<area href="classXalanCDATASection.html" shape="rect" coords="37,266,173,242">
<area href="classXalanText.html" shape="rect" coords="66,191,144,168">
<area href="classXalanCharacterData.html" shape="rect" coords="37,117,173,93">
<area href="classXalanNode.html" shape="rect" coords="65,42,145,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XercesCDATASectionWrapper:<p><center><img src="classXercesCDATASectionWrapper__coll__graph.gif" border="0" usemap="#XercesCDATASectionWrapper_coll_map" alt="Collaboration graph"></center>
<map name="XercesCDATASectionWrapper_coll_map">
<area href="classXalanCDATASection.html" shape="rect" coords="6,192,142,168">
<area href="classXalanText.html" shape="rect" coords="36,43,113,19">
<area href="classXercesWrapperNavigator.html" shape="rect" coords="168,192,336,168">
<area href="classXercesDocumentWrapper.html" shape="rect" coords="254,282,425,258">
<area href="classXalanNode.html" shape="rect" coords="174,43,254,19">
<area href="classXalanDOMString.html" shape="rect" coords="308,43,425,19">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXercesCDATASectionWrapper-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXercesCDATASectionWrapper.html#a0">XercesCDATASectionWrapper</a> (const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a> *theXercesCDATASection, const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp;theNavigator)
<li>virtual <a class="el" href="classXercesCDATASectionWrapper.html#a1">~XercesCDATASectionWrapper</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.html#a12">getOwnerDocument</a> () const
<dl class="el"><dd><font size=-1><em>Gets the <code>DOMDocument</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesCDATASectionWrapper.html#a36">isIgnorableWhitespace</a> () const
<dl class="el"><dd><font size=-1><em>Determine whether the text node instance is composed entirely of XML whitespace.</em> <a href="#a36">More...</a><em><br><br></em></font></dl><li>const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a>* <a class="el" href="classXercesCDATASectionWrapper.html#a37">getXercesNode</a> () const
<dl class="el"><dd><font size=-1><em>Get the Xerces node this instance represent.</em> <a href="#a37">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual XercesCDATASectionWrapper* <a class="el" href="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.html#a20">normalize</a> ()
<dl class="el"><dd><font size=-1><em>Puts all <code>DOMText</code> nodes in the full depth of the sub-tree underneath this <code>DOMNode</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>DOMText</code> nodes, i.e., there are no adjacent <code>DOMText</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.html#a30">substringData</a> (unsigned int offset, unsigned int count, <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;theResult) 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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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="classXercesCDATASectionWrapper.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>
<tr><td colspan="2"><div class="groupHeader">Functions to modify the Text node.</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanText.html">XalanText</a>* <a class="el" href="classXercesCDATASectionWrapper.html#a35">splitText</a> (unsigned int offset)
<dl class="el"><dd><font size=-1><em>Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.</em> <a href="#a35">More...</a><em><br><br></em></font></dl></ul>
<h2>Static Public Methods</h2>
<ul>
<li>XercesCDATASectionWrapper* <a class="el" href="classXercesCDATASectionWrapper.html#d0">create</a> (<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp;theManager, const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a> *theXercesCDATASection, const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp;theNavigator)
</ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XercesCDATASectionWrapper::XercesCDATASectionWrapper"></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> 
XercesCDATASectionWrapper::XercesCDATASectionWrapper (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a> * <em>theXercesCDATASection</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp; <em>theNavigator</em>&nbsp;)
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="XercesCDATASectionWrapper::~XercesCDATASectionWrapper"></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> 
XercesCDATASectionWrapper::~XercesCDATASectionWrapper (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a17" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a17">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a31" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a31">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="XercesCDATASectionWrapper::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> 
XercesCDATASectionWrapper * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a13">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="d0" doxytag="XercesCDATASectionWrapper::create"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
XercesCDATASectionWrapper * XercesCDATASectionWrapper::create (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="XalanMemoryManagement_8hpp.html#a5">MemoryManagerType</a> &amp; <em>theManager</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a> * <em>theXercesCDATASection</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXercesWrapperNavigator.html">XercesWrapperNavigator</a> &amp; <em>theNavigator</em>&nbsp;)<code> [static]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="a33" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a33">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a11">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a6">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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="classXalanCDATASection.html#a28">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a7">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XercesCDATASectionWrapper::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> XercesCDATASectionWrapper::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="classXalanCDATASection.html#a27">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a8">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a29">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::getLocalName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Returns the local part of the <em>qualified name</em> of this node.
<p>

<p>
 For nodes created with a DOM Level 1 method, such as <code>createElement</code> from the <code>DOMDocument</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a24">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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="classXalanCDATASection.html#a22">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a10">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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="classXalanCDATASection.html#a2">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XercesCDATASectionWrapper::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> XercesCDATASectionWrapper::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="classXalanCDATASection.html#a4">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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="classXalanCDATASection.html#a3">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::getOwnerDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the <code>DOMDocument</code> object associated with this node.
<p>
This is also the <code>DOMDocument</code> object used to create new nodes. When this node is a <code>DOMDocument</code> or a <code>DOMDocumentType</code> which is not used with any <code>DOMDocument</code> yet, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a12">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::getParentNode (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the parent of this node.
<p>
All nodes, except <code>Document</code>, <code>DocumentFragment</code>, and <code>Attr</code> may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, a <code>null</code> DOMNode is returned. 
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a5">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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="classXalanCDATASection.html#a23">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::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="classXalanCDATASection.html#a9">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a37" doxytag="XercesCDATASectionWrapper::getXercesNode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="XercesWrapperTypes_8hpp.html#a3">DOMCDATASectionType</a> * XercesCDATASectionWrapper::getXercesNode (
          </b></td>
          <td valign="bottom"><b>
) const
          </b></td>
        </tr>

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

<p>
Get the Xerces node this instance represent.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The Xerces node </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a18">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="XercesCDATASectionWrapper::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> * XercesCDATASectionWrapper::insertBefore (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>refChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Inserts the node <code>newChild</code> before the existing child node <code>refChild</code>.
<p>
If <code>refChild</code> is <code>null</code>, insert <code>newChild</code> at the end of the list of children. <br>
If <code>newChild</code> is a <code>DocumentFragment</code> object, all of its children are inserted, in the same order, before <code>refChild</code>. If the <code>newChild</code> is already in the tree, it is first removed. Note that a <code>DOMNode</code> that has never been assigned to refer to an actual node is == null. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The node to insert. </td></tr>
<tr><td valign=top><em>refChild</em>
&nbsp;</td><td>
The reference node, i.e., the node before which the new node must be inserted. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node being inserted. </dl>
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a14">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a32">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a36" doxytag="XercesCDATASectionWrapper::isIgnorableWhitespace"></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 XercesCDATASectionWrapper::isIgnorableWhitespace (
          </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 whether the text node instance is composed entirely of XML whitespace.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
true if the node is all XML whitespace, false if not </dl>
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a36">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a26">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a21">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a20" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::normalize (
          </b></td>
          <td valign="bottom"><b>
)<code> [virtual]</code>
          </b></td>
        </tr>

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

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

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

<p>
Replaces the child node <code>oldChild</code> with <code>newChild</code> in the list of children, and returns the <code>oldChild</code> node.
<p>
If <code>newChild</code> is a <code>DOMDocumentFragment</code> object, <code>oldChild</code> is replaced by all of the <code>DOMDocumentFragment</code> children, which are inserted in the same order.
<p>
If the <code>newChild</code> is already in the tree, it is first removed. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The new node to put in the child list. </td></tr>
<tr><td valign=top><em>oldChild</em>
&nbsp;</td><td>
The node being replaced in the list. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node replaced. </dl>
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a15">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a34" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXalanCDATASection.html#a34">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a19" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::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="classXercesCDATASectionWrapper.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="classXalanCDATASection.html#a19">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a25" doxytag="XercesCDATASectionWrapper::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 XercesCDATASectionWrapper::setPrefix (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>prefix</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

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

<p>
 Note that setting this attribute, when permitted, changes  the <code>nodeName</code> attribute, which holds the <em>qualified  name</em>, as well as the <code>tagName</code> and <code>name</code>  attributes of the <code>DOMElement</code> and <code>DOMAttr</code> interfaces, when applicable. 
<p>
 Note also that changing the prefix of an  attribute, that is known to have a default value, does not make a new  attribute with the default value and the original prefix appear, since the  <code>namespaceURI</code> and <code>localName</code> do not change.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>prefix</em>
&nbsp;</td><td>
The prefix of this node. </td></tr>
</table>
</dl><dl compact><dt>
<b>Exceptions: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>DOMException</em>
&nbsp;</td><td>
 INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character. <br>
 NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. <br>
 NAMESPACE_ERR: Raised if the specified <code>prefix</code> is  malformed, if the specified prefix is "xml" and the  <code>namespaceURI</code> of this node is different from  "<a href="http://www.w3.org/XML/1998/namespace">http://www.w3.org/XML/1998/namespace</a>", if specified prefix is  "xmlns" and the <code>namespaceURI</code> is neither  <code>null</code> nor an empty string, or if the  <code>localName</code> is <code>null</code>. </td></tr>
</table>
</dl>
<p>
Reimplemented from <a class="el" href="classXalanCDATASection.html#a25">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a35" doxytag="XercesCDATASectionWrapper::splitText"></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> * XercesCDATASectionWrapper::splitText (
          </b></td>
          <td valign="bottom"><b>
unsigned int <em>offset</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>
Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.
<p>
This node then only  contains all the content up to the <code>offset</code> point. And a new  node of the same nodeType, which is inserted as the next sibling of this  node, contains all the content at and after the <code>offset</code>  point. When the <code>offset</code> is equal to the lenght of this node, the new node has no data. <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 at which to split, starting from 0. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The new <code>Text</code> 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>
 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="classXalanCDATASection.html#a35">XalanCDATASection</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="XercesCDATASectionWrapper::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; XercesCDATASectionWrapper::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>theResult</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="classXalanCDATASection.html#a30">XalanCDATASection</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XercesCDATASectionWrapper_8hpp-source.html">XercesCDATASectionWrapper.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>
