<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>XercesAttrBridge  Class Reference</h1>This class is deprecated. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="XercesAttrBridge_8hpp-source.html">XercesAttrBridge.hpp</a>&gt;</code>
<p>
Inheritance diagram for XercesAttrBridge:<p><center><img src="classXercesAttrBridge__inherit__graph.gif" border="0" usemap="#XercesAttrBridge_inherit_map" alt="Inheritance graph"></center>
<map name="XercesAttrBridge_inherit_map">
<area href="classXalanAttr.html" shape="rect" coords="31,117,102,93">
<area href="classXalanNode.html" shape="rect" coords="27,42,106,18">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XercesAttrBridge:<p><center><img src="classXercesAttrBridge__coll__graph.gif" border="0" usemap="#XercesAttrBridge_coll_map" alt="Collaboration graph"></center>
<map name="XercesAttrBridge_coll_map">
<area href="classXalanAttr.html" shape="rect" coords="526,242,598,218">
<area href="classXalanNode.html" shape="rect" coords="425,42,505,18">
<area href="classXercesBridgeNavigator.html" shape="rect" coords="275,192,429,168">
<area href="classXercesDocumentBridge.html" shape="rect" coords="68,384,225,360">
<area href="classXercesNodeListBridge.html" shape="rect" coords="279,293,425,269">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classXercesAttrBridge-members.html">List of all members.</a><h2>Public Methods</h2>
<ul>
<li><a class="el" href="classXercesAttrBridge.html#a0">XercesAttrBridge</a> (const DOM_AttrType &amp;theXercesAttr, const <a class="el" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</a> &amp;theNavigator)
<li>virtual <a class="el" href="classXercesAttrBridge.html#a1">~XercesAttrBridge</a> ()
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesAttrBridge.html#a2">getNodeName</a> () const
<li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.html#a12">getOwnerDocument</a> () const
<dl class="el"><dd><font size=-1><em>Gets the <code>DOM_Document</code> object associated with this node.</em> <a href="#a12">More...</a><em><br><br></em></font></dl><li>DOM_AttrType <a class="el" href="classXercesAttrBridge.html#a33">getXercesNode</a> () const
<dl class="el"><dd><font size=-1><em>Get the Xerces node this instance represent.</em> <a href="#a33">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Cloning function.</div></td></tr>
<ul>
<li>virtual XercesAttrBridge* <a class="el" href="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.html#a20">normalize</a> ()
<dl class="el"><dd><font size=-1><em>Puts all <code>DOM_Text</code> nodes in the full depth of the sub-tree underneath this <code>DOM_Node</code>, including attribute nodes, into a "normal" form where only markup (e.g., tags, comments, processing instructions, CDATA sections, and entity references) separates <code>DOM_Text</code> nodes, i.e., there are no adjacent <code>DOM_Text</code> nodes.</em> <a href="#a20">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.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="classXercesAttrBridge.html#a28">getName</a> () const
<dl class="el"><dd><font size=-1><em>Returns the name of this attribute.</em> <a href="#a28">More...</a><em><br><br></em></font></dl><li>virtual bool <a class="el" href="classXercesAttrBridge.html#a29">getSpecified</a> () const
<dl class="el"><dd><font size=-1><em>Returns true if the attribute received its value explicitly in the XML document, or if a value was assigned programatically with the setValue function.</em> <a href="#a29">More...</a><em><br><br></em></font></dl><li>virtual const <a class="el" href="classXalanDOMString.html">XalanDOMString</a>&amp; <a class="el" href="classXercesAttrBridge.html#a30">getValue</a> () const
<dl class="el"><dd><font size=-1><em>Returns the value of the attribute.</em> <a href="#a30">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Setter functions</div></td></tr>
<ul>
<li>virtual void <a class="el" href="classXercesAttrBridge.html#a31">setValue</a> (const <a class="el" href="classXalanDOMString.html">XalanDOMString</a> &amp;value)
<dl class="el"><dd><font size=-1><em>Sets the value of the attribute.</em> <a href="#a31">More...</a><em><br><br></em></font></dl></ul>
<tr><td colspan="2"><div class="groupHeader">Functions introduced in DOM Level 2.</div></td></tr>
<ul>
<li>virtual <a class="el" href="classXalanElement.html">XalanElement</a>* <a class="el" href="classXercesAttrBridge.html#a32">getOwnerElement</a> () const
<dl class="el"><dd><font size=-1><em>The <code>Element</code> node this attribute is attached to or <code>null</code> if this attribute is not in use.</em> <a href="#a32">More...</a><em><br><br></em></font></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is deprecated.
<p>
<dl compact><dt>
<b>Deprecated: </b><dd>
This class is part of the deprecated Xerces DOM bridge. </dl>
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="XercesAttrBridge::XercesAttrBridge"></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> 
XercesAttrBridge::XercesAttrBridge (
          </b></td>
          <td valign="bottom"><b>
const DOM_AttrType &amp; <em>theXercesAttr</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classXercesBridgeNavigator.html">XercesBridgeNavigator</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="XercesAttrBridge::~XercesAttrBridge"></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> 
XercesAttrBridge::~XercesAttrBridge (
          </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="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a17">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a13" doxytag="XercesAttrBridge::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> 
XercesAttrBridge * XercesAttrBridge::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="classXalanAttr.html#a13">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a11">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a6">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a7">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="XercesAttrBridge::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> XercesAttrBridge::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="classXalanAttr.html#a27">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a8">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="XercesAttrBridge::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; XercesAttrBridge::getLocalName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

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

<p>
 For nodes created with a DOM Level 1 method, such as <code>createElement</code> from the <code>DOM_Document</code> interface, it is null. 
<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a24">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="XercesAttrBridge::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; XercesAttrBridge::getName (
          </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 name of this attribute.
<p>

<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a28">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="XercesAttrBridge::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; XercesAttrBridge::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="classXalanAttr.html#a22">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a10">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="XercesAttrBridge::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; XercesAttrBridge::getNodeName (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>

<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a2">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="XercesAttrBridge::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> XercesAttrBridge::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="classXalanAttr.html#a4">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="XercesAttrBridge::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; XercesAttrBridge::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="classXalanAttr.html#a3">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="XercesAttrBridge::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> * XercesAttrBridge::getOwnerDocument (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the <code>DOM_Document</code> object associated with this node.
<p>
This is also the <code>DOM_Document</code> object used to create new nodes. When this node is a <code>DOM_Document</code> or a <code>DOM_DocumentType</code> which is not used with any <code>DOM_Document</code> yet, this is <code>null</code>. 
<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a12">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="XercesAttrBridge::getOwnerElement"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classXalanElement.html">XalanElement</a> * XercesAttrBridge::getOwnerElement (
          </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>
The <code>Element</code> node this attribute is attached to or <code>null</code> if this attribute is not in use.
<p>

<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a32">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a5" doxytag="XercesAttrBridge::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> * XercesAttrBridge::getParentNode (
          </b></td>
          <td valign="bottom"><b>
) const<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Gets the parent of this node.
<p>
All nodes, except <code>Document</code>, <code>DocumentFragment</code>, and <code>Attr</code> may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, a <code>null</code> DOM_Node is returned. 
<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a5">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="XercesAttrBridge::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; XercesAttrBridge::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="classXalanAttr.html#a23">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="XercesAttrBridge::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> * XercesAttrBridge::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="classXalanAttr.html#a9">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="XercesAttrBridge::getSpecified"></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 XercesAttrBridge::getSpecified (
          </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 true if the attribute received its value explicitly in the XML document, or if a value was assigned programatically with the setValue function.
<p>
Returns false if the attribute value  came from the default value declared in the document's DTD. 
<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a29">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="XercesAttrBridge::getValue"></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; XercesAttrBridge::getValue (
          </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 value of the attribute.
<p>
The value of the attribute is returned as a string.  Character and general entity references are replaced with their values. 
<p>
Reimplemented from <a class="el" href="classXalanAttr.html#a30">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a33" doxytag="XercesAttrBridge::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> 
DOM_AttrType XercesAttrBridge::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="XercesAttrBridge::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 XercesAttrBridge::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="classXalanAttr.html#a18">XalanAttr</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="XercesAttrBridge::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> * XercesAttrBridge::insertBefore (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>newChild</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="classXalanNode.html">XalanNode</a> * <em>refChild</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

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

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

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

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

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

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

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

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