<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>XalanDocumentType  Class Reference</h1><code>#include &lt;<a class="el" href="XalanDocumentType_8hpp-source.html">XalanDocumentType.hpp</a>&gt;</code>
<p>
Inheritance diagram for XalanDocumentType:<p><center><img src="classXalanDocumentType__inherit__graph.gif" border="0" usemap="#XalanDocumentType_inherit_map" alt="Inheritance graph"></center>
<map name="XalanDocumentType_inherit_map">
<area href="classXercesDocumentTypeBridge.html" shape="rect" coords="6,192,190,168">
<area href="classXercesDocumentTypeWrapper.html" shape="rect" coords="214,192,412,168">
<area href="classXalanNode.html" shape="rect" coords="165,42,245,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XalanDocumentType:<p><center><img src="classXalanDocumentType__coll__graph.gif" border="0" usemap="#XalanDocumentType_coll_map" alt="Collaboration graph"></center>
<map name="XalanDocumentType_coll_map">
<area href="classXalanNode.html" shape="rect" coords="35,42,114,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXalanDocumentType-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXalanDocumentType.html#a0">XalanDocumentType</a> ()
<li>virtual <a class="el" href="classXalanDocumentType.html#a1">~XalanDocumentType</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a2">getNodeName</a> () const=0
<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="classXalanDocumentType.html#a3">getNodeValue</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the value of this node, depending on its type.</em> <a href="#a3">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html#s14">NodeType</a> <a class="el" href="classXalanDocumentType.html#a4">getNodeType</a> () const=0
<dl class="el"><dd><font size=-1><em>An enum value representing the type of the underlying object.</em> <a href="#a4">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a5">getParentNode</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the parent of this node.</em> <a href="#a5">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNodeList.html">XalanNodeList</a>* <a class="el" href="classXalanDocumentType.html#a6">getChildNodes</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets a <code>NodeList</code> that contains all children of this node.</em> <a href="#a6">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a7">getFirstChild</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the first child of this node.</em> <a href="#a7">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a8">getLastChild</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the last child of this node.</em> <a href="#a8">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a9">getPreviousSibling</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the node immediately preceding this node.</em> <a href="#a9">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a10">getNextSibling</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the node immediately following this node.</em> <a href="#a10">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>* <a class="el" href="classXalanDocumentType.html#a11">getAttributes</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it is an <code>Element</code>) or <code>null</code> otherwise.</em> <a href="#a11">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanDocument.html">XalanDocument</a>* <a class="el" href="classXalanDocumentType.html#a12">getOwnerDocument</a> () const=0
<dl class="el"><dd><font size=-1><em>Gets the <code>Document</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a13">cloneNode</a> (bool deep) const=0
<dl class="el"><dd><font size=-1><em>Returns a duplicate of this node.</em> <a href="#a13">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions to modify the DOM Node.</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a14">insertBefore</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *refChild)=0
<dl class="el"><dd><font size=-1><em>Inserts the node <code>newChild</code> before the existing child node <code>refChild</code>.</em> <a href="#a14">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a15">replaceChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild, <a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)=0
<dl class="el"><dd><font size=-1><em>Replaces the child node <code>oldChild</code> with <code>newChild</code> in the list of children, and returns the <code>oldChild</code> node.</em> <a href="#a15">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a16">removeChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *oldChild)=0
<dl class="el"><dd><font size=-1><em>Removes the child node indicated by <code>oldChild</code> from the list of children, and returns it.</em> <a href="#a16">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html">XalanNode</a>* <a class="el" href="classXalanDocumentType.html#a17">appendChild</a> (<a class="el" href="classXalanNode.html">XalanNode</a> *newChild)=0
<dl class="el"><dd><font size=-1><em>Adds the node <code>newChild</code> to the end of the list of children of this node.</em> <a href="#a17">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Query functions.</div></td></tr>
<ul>
<li>virtual bool <a class="el" href="classXalanDocumentType.html#a18">hasChildNodes</a> () const=0
<dl class="el"><dd><font size=-1><em>This is a convenience method to allow easy determination of whether a node has any children.</em> <a href="#a18">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Set functions.</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXalanDocumentType.html#a19">setNodeValue</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;nodeValue)=0
<dl class="el"><dd><font size=-1><em>Sets the value of the node.</em> <a href="#a19">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions introduced in DOM Level 2.</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXalanDocumentType.html#a20">normalize</a> ()=0
<dl class="el"><dd><font size=-1><em>Puts all <code>Text</code> nodes in the full depth of the sub-tree underneath this <code>Node</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>Text</code> nodes, i.e., there are no adjacent <code>Text</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXalanDocumentType.html#a21">isSupported</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;feature, const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;version) const=0
<dl class="el"><dd><font size=-1><em>Tests whether the DOM implementation implements a specific feature and that feature is supported by this node.</em> <a href="#a21">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a22">getNamespaceURI</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the <em>namespace URI</em> of this node, or <code>null</code> if it is unspecified.</em> <a href="#a22">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a23">getPrefix</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the <em>namespace prefix</em> of this node, or <code>null</code> if it is unspecified.</em> <a href="#a23">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a24">getLocalName</a> () const=0
<dl class="el"><dd><font size=-1><em>Returns the local part of the <em>qualified name</em> of this node.</em> <a href="#a24">More...</a><em><br><br></em></font></dl><li>virtual void <a class="el" href="classXalanDocumentType.html#a25">setPrefix</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;prefix)=0
<dl class="el"><dd><font size=-1><em>Set the <em>namespace prefix</em> of this node.</em> <a href="#a25">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXalanDocumentType.html#a26">isIndexed</a> () const=0
<dl class="el"><dd><font size=-1><em>Determine if the document is node-order indexed.</em> <a href="#a26">More...</a><em><br><br></em></font></dl><li>virtual <a class="el" href="classXalanNode.html#s0">IndexType</a> <a class="el" href="classXalanDocumentType.html#a27">getIndex</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the node's index.</em> <a href="#a27">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Getter functions.</div></td></tr>
<ul>
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a28">getName</a> () const=0
<dl class="el"><dd><font size=-1><em>The name of DTD; i.e., the name immediately following the <code>DOCTYPE</code> keyword in an XML source document.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>* <a class="el" href="classXalanDocumentType.html#a29">getEntities</a> () const=0
<dl class="el"><dd><font size=-1><em>This function returns a <code>NamedNodeMap</code> containing the general entities, both external and internal, declared in the DTD.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>* <a class="el" href="classXalanDocumentType.html#a30">getNotations</a> () const=0
<dl class="el"><dd><font size=-1><em>This function returns a named node map containing an entry for each notation declared in a document's DTD.</em> <a href="#a30">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 const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a31">getPublicId</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the public identifier of the external subset.</em> <a href="#a31">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a32">getSystemId</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the system identifier of the external subset.</em> <a href="#a32">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXalanDocumentType.html#a33">getInternalSubset</a> () const=0
<dl class="el"><dd><font size=-1><em>Get the internal subset as a string.</em> <a href="#a33">More...</a><em><br><br></em></font></dl></ul>
<h2>Protected Methods</h2>
<ul>
<li><a class="el" href="classXalanDocumentType.html#b0">XalanDocumentType</a> (const XalanDocumentType &amp;theSource)
<li>XalanDocumentType&amp; <a class="el" href="classXalanDocumentType.html#b1">operator=</a> (const XalanDocumentType &amp;theSource)
<li>bool <a class="el" href="classXalanDocumentType.html#b2">operator==</a> (const XalanDocumentType &amp;theRHS) const
</ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XalanDocumentType::XalanDocumentType"></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> 
XalanDocumentType::XalanDocumentType (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="XalanDocumentType::~XalanDocumentType"></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> 
XalanDocumentType::~XalanDocumentType (
          </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="XalanDocumentType::XalanDocumentType"></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> 
XalanDocumentType::XalanDocumentType (
          </b></td>
          <td valign="bottom"><b>
const XalanDocumentType &amp; <em>theSource</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a17" doxytag="XalanDocumentType::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> * XalanDocumentType::appendChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Adds the node <code>newChild</code> to the end of the list of children of this node.
<p>
If the <code>newChild</code> is already in the tree, it is first removed. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The node to add.If it is a <code>DocumentFragment</code> object, the entire contents of the document fragment are moved into the child list of this node </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node added. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a17">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a17">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a17">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="XalanDocumentType::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> 
<a class="el" href="classXalanNode.html">XalanNode</a> * XalanDocumentType::cloneNode (
          </b></td>
          <td valign="bottom"><b>
bool <em>deep</em>&nbsp;) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Returns a duplicate of this node.
<p>
This function serves as a generic copy constructor for nodes.
<p>
The duplicate node has no parent ( <code>parentNode</code> returns <code>null</code>.). <br>
Cloning an <code>Element</code> copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child <code>Text</code> node. Cloning any other type of node simply returns a copy of this node. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>deep</em>
&nbsp;</td><td>
If <code>true</code>, recursively clone the subtree under the specified node; if <code>false</code>, clone only the node itself (and its attributes, if it is an <code>Element</code>). </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The duplicate node. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a13">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a13">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a13">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="XalanDocumentType::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> * XalanDocumentType::getAttributes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
Reimplemented from <a class="el" href="classXalanNode.html#a11">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a11">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a11">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XalanDocumentType::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> * XalanDocumentType::getChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets a <code>NodeList</code> that contains all children of this node.
<p>
If there are no children, this is a <code>NodeList</code> containing no nodes. The content of the returned <code>NodeList</code> is "live" in the sense that, for instance, changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the <code>NodeList</code> accessors; it is not a static snapshot of the content of the node. This is true for every <code>NodeList</code>, including the ones returned by the <code>getElementsByTagName</code> method. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a6">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a6">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a6">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XalanDocumentType::getEntities"></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> * XalanDocumentType::getEntities (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
This function returns a <code>NamedNodeMap</code> containing the general entities, both external and internal, declared in the DTD.
<p>
Parameter entities are not contained. Duplicates are discarded. 
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a29">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a29">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XalanDocumentType::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> * XalanDocumentType::getFirstChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the first child of this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a7">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a7">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a7">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XalanDocumentType::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> XalanDocumentType::getIndex (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Get the node's index.
<p>
Valid only if 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="classXalanNode.html#a27">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a27">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a27">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a33" doxytag="XalanDocumentType::getInternalSubset"></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; XalanDocumentType::getInternalSubset (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Get the internal subset as a string.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The internal subset as a string. </dl>
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a33">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a33">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XalanDocumentType::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> * XalanDocumentType::getLastChild (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the last child of this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a8">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a8">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a8">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XalanDocumentType::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; XalanDocumentType::getLocalName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
 For nodes created with a DOM Level 1 method, such as <code>createElement</code> from the <code>Document</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a24">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a24">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a24">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XalanDocumentType::getName"></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; XalanDocumentType::getName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
The name of DTD; i.e., the name immediately following the <code>DOCTYPE</code> keyword in an XML source document.
<p>

<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a28">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a28">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XalanDocumentType::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; XalanDocumentType::getNamespaceURI (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
 This is not a computed value that is the result of a namespace lookup based on an examination of the namespace declarations in scope. It is merely the namespace URI given at creation time. 
<p>
 For nodes of any type other than <code>ELEMENT_NODE</code> and  <code>ATTRIBUTE_NODE</code> and nodes created with a DOM Level 1 method,  such as <code>createElement</code> from the <code>Document</code> interface, this is always <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a22">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a22">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a22">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XalanDocumentType::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> * XalanDocumentType::getNextSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the node immediately following this node.
<p>
If there is no such node, this returns <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a10">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a10">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a10">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XalanDocumentType::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; XalanDocumentType::getNodeName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the name of this node.
<p>

<p>
Reimplemented from <a class="el" href="classXalanNode.html#a2">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a2">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a2">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XalanDocumentType::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> XalanDocumentType::getNodeType (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
Reimplemented from <a class="el" href="classXalanNode.html#a4">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a4">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a4">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XalanDocumentType::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; XalanDocumentType::getNodeValue (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
Reimplemented from <a class="el" href="classXalanNode.html#a3">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a3">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a3">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="XalanDocumentType::getNotations"></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> * XalanDocumentType::getNotations (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
This function returns a named node map containing an entry for each notation declared in a document's DTD.
<p>
Duplicates are discarded. 
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a30">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a30">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XalanDocumentType::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> * XalanDocumentType::getOwnerDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the <code>Document</code> object associated with this node.
<p>
This is also the <code>Document</code> object used to create new nodes. When this node is a <code>Document</code> or a <code>DocumentType</code> which is not used with any <code>Document</code> yet, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a12">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a12">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a12">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XalanDocumentType::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> * XalanDocumentType::getParentNode (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the parent of this node.
<p>
All nodes, except <code>Document</code>, <code>DocumentFragment</code>, and <code>Attr</code> may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, a <code>null</code> Node is returned. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a5">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a5">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a5">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XalanDocumentType::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; XalanDocumentType::getPrefix (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

<p>
Reimplemented from <a class="el" href="classXalanNode.html#a23">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a23">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a23">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XalanDocumentType::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> * XalanDocumentType::getPreviousSibling (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

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

<p>
Get the public identifier of the external subset.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The public identifier of the external subset. </dl>
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a31">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a31">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="XalanDocumentType::getSystemId"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; XalanDocumentType::getSystemId (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Get the system identifier of the external subset.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The system identifier of the external subset. </dl>
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a32">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a32">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a18" doxytag="XalanDocumentType::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 XalanDocumentType::hasChildNodes (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
This is a convenience method to allow easy determination of whether a node has any children.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
<code>true</code> if the node has any children, <code>false</code> if the node has no children. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a18">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a18">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a18">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="XalanDocumentType::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> * XalanDocumentType::insertBefore (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>refChild</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Inserts the node <code>newChild</code> before the existing child node <code>refChild</code>.
<p>
If <code>refChild</code> is <code>null</code>, insert <code>newChild</code> at the end of the list of children. <br>
If <code>newChild</code> is a <code>DocumentFragment</code> object, all of its children are inserted, in the same order, before <code>refChild</code>. If the <code>newChild</code> is already in the tree, it is first removed. Note that a <code>Node</code> that has never been assigned to refer to an actual node is == null. <dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>newChild</em>
&nbsp;</td><td>
The node to insert. </td></tr>
<tr><td valign=top><em>refChild</em>
&nbsp;</td><td>
The reference node, i.e., the node before which the new node must be inserted. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node being inserted. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a14">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a14">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a14">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="XalanDocumentType::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 XalanDocumentType::isIndexed (
          </b></td>
          <td valign="bottom"><b>
) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Determine if the document is node-order indexed.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
true if the document is indexed, otherwise false. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a26">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a26">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a26">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="XalanDocumentType::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 XalanDocumentType::isSupported (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>feature</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>version</em>&nbsp;) const<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

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

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

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

<p>
    </td>
  </tr>
</table>
<a name="b2" doxytag="XalanDocumentType::operator=="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool XalanDocumentType::operator== (
          </b></td>
          <td valign="bottom"><b>
const XalanDocumentType &amp; <em>theRHS</em>&nbsp;) const<code> [protected]</code>
          </b></td>
        </tr>

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

<p>
    </td>
  </tr>
</table>
<a name="a16" doxytag="XalanDocumentType::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> * XalanDocumentType::removeChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>oldChild</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

<p>
Removes the child node indicated by <code>oldChild</code> from the list of children, and returns it.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>oldChild</em>
&nbsp;</td><td>
The node being removed. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
The node removed. </dl>
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a16">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a16">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a16">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a15" doxytag="XalanDocumentType::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> * XalanDocumentType::replaceChild (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>oldChild</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

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

<p>
Sets the value of the node.
<p>
Any node which can have a nodeValue (<dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classXalanDocumentType.html#a3">getNodeValue</a>) will also accept requests to set it to a string. The exact response to this varies from node to node -- Attribute, for example, stores its values in its children and has to replace them with a new Text holding the replacement value.
<p>
</dl>For most types of Node, value is null and attempting to set it will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will also be thrown if the node is read-only. 
<p>
Reimplemented from <a class="el" href="classXalanNode.html#a19">XalanNode</a>.
<p>
Reimplemented in <a class="el" href="classXercesDocumentTypeWrapper.html#a19">XercesDocumentTypeWrapper</a>, and <a class="el" href="classXercesDocumentTypeBridge.html#a19">XercesDocumentTypeBridge</a>.    </td>
  </tr>
</table>
<a name="a25" doxytag="XalanDocumentType::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 XalanDocumentType::setPrefix (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp; <em>prefix</em>&nbsp;)<code> [pure virtual]</code>
          </b></td>
        </tr>

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

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

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