<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Xalan-C++ API : Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<!-- The head section is copied from Doxygen 1.7.1 generated default output -->
<body>
<h2 align="center">Xalan-C++ API Documentation</h2>
<h3 align="center"><a href="../index.html">The Xalan C++ XSLT Processor Version 1.11</a></h3>
<hr/>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>XercesAttrBridge.hpp</h1>  </div>
</div>
<div class="contents">
<a href="XercesAttrBridge_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span>
<a name="l00003"></a>00003 <span class="comment"> * or more contributor license agreements. See the NOTICE file</span>
<a name="l00004"></a>00004 <span class="comment"> * distributed with this work for additional information</span>
<a name="l00005"></a>00005 <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span>
<a name="l00006"></a>00006 <span class="comment"> * to you under the Apache License, Version 2.0 (the  &quot;License&quot;);</span>
<a name="l00007"></a>00007 <span class="comment"> * you may not use this file except in compliance with the License.</span>
<a name="l00008"></a>00008 <span class="comment"> * You may obtain a copy of the License at</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *     http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00011"></a>00011 <span class="comment"> *</span>
<a name="l00012"></a>00012 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00013"></a>00013 <span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span>
<a name="l00014"></a>00014 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00015"></a>00015 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00016"></a>00016 <span class="comment"> * limitations under the License.</span>
<a name="l00017"></a>00017 <span class="comment"> */</span>
<a name="l00018"></a>00018 <span class="preprocessor">#if !defined(XERCESATTRBRIDGE_HEADER_GUARD_1357924680)</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define XERCESATTRBRIDGE_HEADER_GUARD_1357924680</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="XercesParserLiaisonDefinitions_8hpp.html">xalanc/XercesParserLiaison/XercesParserLiaisonDefinitions.hpp</a>&gt;</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 
<a name="l00027"></a>00027 <span class="preprocessor">#if XERCES_VERSION_MAJOR &gt;= 2</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#include &lt;xercesc/dom/deprecated/DOM_Attr.hpp&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#else</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#include &lt;xercesc/dom/DOM_Attr.hpp&gt;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#endif</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033 
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="XalanAttr_8hpp.html">xalanc/XalanDOM/XalanAttr.hpp</a>&gt;</span>
<a name="l00036"></a>00036 
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;<a class="code" href="XercesBridgeTypes_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesBridgeTypes.hpp</a>&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;<a class="code" href="XercesNodeListBridge_8hpp.html">xalanc/XercesParserLiaison/Deprecated/XercesNodeListBridge.hpp</a>&gt;</span>
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 
<a name="l00043"></a>00043 
<a name="l00044"></a>00044 XALAN_CPP_NAMESPACE_BEGIN
<a name="l00045"></a>00045 
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 <span class="keyword">class </span><a class="code" href="classXercesBridgeNavigator.html" title="This class is deprecated.">XercesBridgeNavigator</a>;
<a name="l00049"></a>00049 <span class="keyword">class </span><a class="code" href="classXalanElement.html">XalanElement</a>;
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="comment"></span>
<a name="l00052"></a>00052 <span class="comment">/**</span>
<a name="l00053"></a>00053 <span class="comment"> * This class is deprecated.</span>
<a name="l00054"></a>00054 <span class="comment"> *</span>
<a name="l00055"></a>00055 <span class="comment"> * @deprecated This class is part of the deprecated Xerces DOM bridge.</span>
<a name="l00056"></a>00056 <span class="comment"> */</span>
<a name="l00057"></a><a class="code" href="classXercesAttrBridge.html">00057</a> <span class="keyword">class </span><a class="code" href="XercesParserLiaisonDefinitions_8hpp.html#a8784e34032853206369b8386f5a993d8">XALAN_XERCESPARSERLIAISON_EXPORT</a> <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a> : <span class="keyword">public</span> <a class="code" href="classXalanAttr.html">XalanAttr</a>
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059 <span class="keyword">public</span>:
<a name="l00060"></a>00060 
<a name="l00061"></a>00061     <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>(
<a name="l00062"></a>00062             <span class="keyword">const</span> <a class="code" href="XercesBridgeTypes_8hpp.html#a2048ccb9098d3dfeaa5b41932e83afd4">DOM_AttrType</a>&amp;             theXercesAttr,
<a name="l00063"></a>00063             <span class="keyword">const</span> <a class="code" href="classXercesBridgeNavigator.html" title="This class is deprecated.">XercesBridgeNavigator</a>&amp;    theNavigator);
<a name="l00064"></a>00064 
<a name="l00065"></a>00065     <span class="keyword">virtual</span>
<a name="l00066"></a>00066     ~<a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>();
<a name="l00067"></a>00067 
<a name="l00068"></a>00068 
<a name="l00069"></a>00069     <span class="comment">// These interfaces are inherited from XalanNode...</span>
<a name="l00070"></a>00070     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00071"></a>00071     <a class="code" href="classXalanAttr.html#a9ef9a0271e76ceddb575f28f6f57b4c9" title="Gets the name of this node, depending on its type.">getNodeName</a>() <span class="keyword">const</span>;
<a name="l00072"></a>00072 <span class="comment"></span>
<a name="l00073"></a>00073 <span class="comment">    /**</span>
<a name="l00074"></a>00074 <span class="comment">     * Gets the value of this node, depending on its type.</span>
<a name="l00075"></a>00075 <span class="comment">     */</span>
<a name="l00076"></a>00076     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00077"></a>00077     <a class="code" href="classXalanAttr.html#a4f8e11b6bf969ea3f261a5456540240d" title="Gets the value of this node, depending on its type.">getNodeValue</a>() <span class="keyword">const</span>;
<a name="l00078"></a>00078 <span class="comment"></span>
<a name="l00079"></a>00079 <span class="comment">    /**</span>
<a name="l00080"></a>00080 <span class="comment">     * An enum value representing the type of the underlying object.</span>
<a name="l00081"></a>00081 <span class="comment">     */</span>
<a name="l00082"></a>00082     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html#a93d60cd336327226e55c45a320cced24">NodeType</a>
<a name="l00083"></a>00083     <a class="code" href="classXalanAttr.html#a9026ef42adcba6f80dd7fccdf62ea3d5" title="An enum value representing the type of the underlying object.">getNodeType</a>() <span class="keyword">const</span>;
<a name="l00084"></a>00084 <span class="comment"></span>
<a name="l00085"></a>00085 <span class="comment">    /**</span>
<a name="l00086"></a>00086 <span class="comment">     * Gets the parent of this node.</span>
<a name="l00087"></a>00087 <span class="comment">     *</span>
<a name="l00088"></a>00088 <span class="comment">     * All nodes, except &lt;code&gt;Document&lt;/code&gt;,</span>
<a name="l00089"></a>00089 <span class="comment">     * &lt;code&gt;DocumentFragment&lt;/code&gt;, and &lt;code&gt;Attr&lt;/code&gt; may have a parent.</span>
<a name="l00090"></a>00090 <span class="comment">     * However, if a node has just been created and not yet added to the tree,</span>
<a name="l00091"></a>00091 <span class="comment">     * or if it has been removed from the tree, a &lt;code&gt;null&lt;/code&gt; DOM_Node</span>
<a name="l00092"></a>00092 <span class="comment">     * is returned.</span>
<a name="l00093"></a>00093 <span class="comment">     */</span>
<a name="l00094"></a>00094     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00095"></a>00095     <a class="code" href="classXalanAttr.html#a3b8c23e6ce134b4176c921611041b3ad" title="Gets the parent of this node.">getParentNode</a>() <span class="keyword">const</span>;
<a name="l00096"></a>00096 <span class="comment"></span>
<a name="l00097"></a>00097 <span class="comment">    /**</span>
<a name="l00098"></a>00098 <span class="comment">     * Gets a &lt;code&gt;NodeList&lt;/code&gt; that contains all children of this node.</span>
<a name="l00099"></a>00099 <span class="comment">     *</span>
<a name="l00100"></a>00100 <span class="comment">     * If there</span>
<a name="l00101"></a>00101 <span class="comment">     * are no children, this is a &lt;code&gt;NodeList&lt;/code&gt; containing no nodes.</span>
<a name="l00102"></a>00102 <span class="comment">     * The content of the returned &lt;code&gt;NodeList&lt;/code&gt; is &quot;live&quot; in the sense</span>
<a name="l00103"></a>00103 <span class="comment">     * that, for instance, changes to the children of the node object that</span>
<a name="l00104"></a>00104 <span class="comment">     * it was created from are immediately reflected in the nodes returned by</span>
<a name="l00105"></a>00105 <span class="comment">     * the &lt;code&gt;NodeList&lt;/code&gt; accessors; it is not a static snapshot of the</span>
<a name="l00106"></a>00106 <span class="comment">     * content of the node. This is true for every &lt;code&gt;NodeList&lt;/code&gt;,</span>
<a name="l00107"></a>00107 <span class="comment">     * including the ones returned by the &lt;code&gt;getElementsByTagName&lt;/code&gt;</span>
<a name="l00108"></a>00108 <span class="comment">     * method.</span>
<a name="l00109"></a>00109 <span class="comment">     */</span>
<a name="l00110"></a>00110     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanNodeList.html">XalanNodeList</a>*
<a name="l00111"></a>00111     <a class="code" href="classXalanAttr.html#a54cf5616ea6b217c4b3b3fdfd1556d5c" title="Gets a XalanNodeList that contains all children of this node.">getChildNodes</a>() <span class="keyword">const</span>;
<a name="l00112"></a>00112 <span class="comment"></span>
<a name="l00113"></a>00113 <span class="comment">    /**</span>
<a name="l00114"></a>00114 <span class="comment">     * Gets the first child of this node.</span>
<a name="l00115"></a>00115 <span class="comment">     *</span>
<a name="l00116"></a>00116 <span class="comment">     * If there is no such node, this returns &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00117"></a>00117 <span class="comment">     */</span>
<a name="l00118"></a>00118     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00119"></a>00119     <a class="code" href="classXalanAttr.html#add6a2d506a31ba389642a4a23790e77f" title="Gets the first child of this node.">getFirstChild</a>() <span class="keyword">const</span>;
<a name="l00120"></a>00120 <span class="comment"></span>
<a name="l00121"></a>00121 <span class="comment">    /**</span>
<a name="l00122"></a>00122 <span class="comment">     * Gets the last child of this node.</span>
<a name="l00123"></a>00123 <span class="comment">     *</span>
<a name="l00124"></a>00124 <span class="comment">     * If there is no such node, this returns &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00125"></a>00125 <span class="comment">     */</span>
<a name="l00126"></a>00126     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00127"></a>00127     <a class="code" href="classXalanAttr.html#a879d12b52d6a15ccec56116c42d7feb8" title="Gets the last child of this node.">getLastChild</a>() <span class="keyword">const</span>;
<a name="l00128"></a>00128 <span class="comment"></span>
<a name="l00129"></a>00129 <span class="comment">    /**</span>
<a name="l00130"></a>00130 <span class="comment">     * Gets the node immediately preceding this node.</span>
<a name="l00131"></a>00131 <span class="comment">     *</span>
<a name="l00132"></a>00132 <span class="comment">     * If there is no such node, this returns &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00133"></a>00133 <span class="comment">     */</span>
<a name="l00134"></a>00134     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00135"></a>00135     <a class="code" href="classXalanAttr.html#a8b4d4124d2711132e6408fa263173e5c" title="Gets the node immediately preceding this node.">getPreviousSibling</a>() <span class="keyword">const</span>;
<a name="l00136"></a>00136 <span class="comment"></span>
<a name="l00137"></a>00137 <span class="comment">    /**</span>
<a name="l00138"></a>00138 <span class="comment">     * Gets the node immediately following this node.</span>
<a name="l00139"></a>00139 <span class="comment">     *</span>
<a name="l00140"></a>00140 <span class="comment">     * If there is no such node, this returns &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00141"></a>00141 <span class="comment">     */</span>
<a name="l00142"></a>00142     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00143"></a>00143     <a class="code" href="classXalanAttr.html#a0a74cdad1d304577d68f31c23c06f12c" title="Gets the node immediately following this node.">getNextSibling</a>() <span class="keyword">const</span>;
<a name="l00144"></a>00144 <span class="comment"></span>
<a name="l00145"></a>00145 <span class="comment">    /**</span>
<a name="l00146"></a>00146 <span class="comment">     * Gets a &lt;code&gt;NamedNodeMap&lt;/code&gt; containing the attributes of this node (if it</span>
<a name="l00147"></a>00147 <span class="comment">     * is an &lt;code&gt;Element&lt;/code&gt;) or &lt;code&gt;null&lt;/code&gt; otherwise.</span>
<a name="l00148"></a>00148 <span class="comment">     */</span>
<a name="l00149"></a>00149     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanNamedNodeMap.html">XalanNamedNodeMap</a>*
<a name="l00150"></a>00150     <a class="code" href="classXalanAttr.html#a7750ba37bb437d4d30833e41d92a21bb" title="Gets a XalanNamedNodeMap containing the attributes of this node (if it is an XalanElement) or a null ...">getAttributes</a>() <span class="keyword">const</span>;
<a name="l00151"></a>00151 <span class="comment"></span>
<a name="l00152"></a>00152 <span class="comment">    /**</span>
<a name="l00153"></a>00153 <span class="comment">     * Gets the &lt;code&gt;DOM_Document&lt;/code&gt; object associated with this node.</span>
<a name="l00154"></a>00154 <span class="comment">     *</span>
<a name="l00155"></a>00155 <span class="comment">     * This is also</span>
<a name="l00156"></a>00156 <span class="comment">     * the &lt;code&gt;DOM_Document&lt;/code&gt; object used to create new nodes. When this</span>
<a name="l00157"></a>00157 <span class="comment">     * node is a &lt;code&gt;DOM_Document&lt;/code&gt; or a &lt;code&gt;DOM_DocumentType&lt;/code&gt;</span>
<a name="l00158"></a>00158 <span class="comment">     * which is not used with any &lt;code&gt;DOM_Document&lt;/code&gt; yet, this is</span>
<a name="l00159"></a>00159 <span class="comment">     * &lt;code&gt;null&lt;/code&gt;.</span>
<a name="l00160"></a>00160 <span class="comment">     */</span>
<a name="l00161"></a>00161     <span class="keyword">virtual</span> <a class="code" href="classXalanDocument.html">XalanDocument</a>*
<a name="l00162"></a>00162     <a class="code" href="classXalanAttr.html#acb0a89263c9a51b013ca1a4a8aac5754" title="Gets the XalanDocument object associated with this node.">getOwnerDocument</a>() <span class="keyword">const</span>;
<a name="l00163"></a>00163 <span class="comment"></span>
<a name="l00164"></a>00164 <span class="comment">    //@}</span>
<a name="l00165"></a>00165 <span class="comment"></span><span class="comment">    /** @name Cloning function. */</span><span class="comment"></span>
<a name="l00166"></a>00166 <span class="comment">    //@{</span>
<a name="l00167"></a>00167 <span class="comment"></span><span class="comment"></span>
<a name="l00168"></a>00168 <span class="comment">    /**</span>
<a name="l00169"></a>00169 <span class="comment">     * Returns a duplicate of this node.</span>
<a name="l00170"></a>00170 <span class="comment">     *</span>
<a name="l00171"></a>00171 <span class="comment">     * This function serves as a generic copy constructor for nodes.</span>
<a name="l00172"></a>00172 <span class="comment">     *</span>
<a name="l00173"></a>00173 <span class="comment">     * The duplicate node has no parent (</span>
<a name="l00174"></a>00174 <span class="comment">     * &lt;code&gt;parentNode&lt;/code&gt; returns &lt;code&gt;null&lt;/code&gt;.).</span>
<a name="l00175"></a>00175 <span class="comment">     * &lt;br&gt;Cloning an &lt;code&gt;Element&lt;/code&gt; copies all attributes and their</span>
<a name="l00176"></a>00176 <span class="comment">     * values, including those generated by the  XML processor to represent</span>
<a name="l00177"></a>00177 <span class="comment">     * defaulted attributes, but this method does not copy any text it contains</span>
<a name="l00178"></a>00178 <span class="comment">     * unless it is a deep clone, since the text is contained in a child</span>
<a name="l00179"></a>00179 <span class="comment">     * &lt;code&gt;Text&lt;/code&gt; node. Cloning any other type of node simply returns a</span>
<a name="l00180"></a>00180 <span class="comment">     * copy of this node.</span>
<a name="l00181"></a>00181 <span class="comment">     * @param deep If &lt;code&gt;true&lt;/code&gt;, recursively clone the subtree under the</span>
<a name="l00182"></a>00182 <span class="comment">     *   specified node; if &lt;code&gt;false&lt;/code&gt;, clone only the node itself (and</span>
<a name="l00183"></a>00183 <span class="comment">     *   its attributes, if it is an &lt;code&gt;Element&lt;/code&gt;).</span>
<a name="l00184"></a>00184 <span class="comment">     * @return The duplicate node.</span>
<a name="l00185"></a>00185 <span class="comment">     */</span>
<a name="l00186"></a>00186 <span class="preprocessor">#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)</span>
<a name="l00187"></a>00187 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00188"></a>00188 <span class="preprocessor">#else</span>
<a name="l00189"></a>00189 <span class="preprocessor"></span>    <span class="keyword">virtual</span> <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>*
<a name="l00190"></a>00190 <span class="preprocessor">#endif</span>
<a name="l00191"></a>00191 <span class="preprocessor"></span>    cloneNode(<span class="keywordtype">bool</span> deep) <span class="keyword">const</span>;
<a name="l00192"></a>00192 <span class="comment"></span>
<a name="l00193"></a>00193 <span class="comment">    //@}</span>
<a name="l00194"></a>00194 <span class="comment"></span><span class="comment">    /** @name Functions to modify the DOM Node. */</span><span class="comment"></span>
<a name="l00195"></a>00195 <span class="comment">    //@{</span>
<a name="l00196"></a>00196 <span class="comment"></span><span class="comment"></span>
<a name="l00197"></a>00197 <span class="comment">    /**</span>
<a name="l00198"></a>00198 <span class="comment">     * Inserts the node &lt;code&gt;newChild&lt;/code&gt; before the existing child node</span>
<a name="l00199"></a>00199 <span class="comment">     * &lt;code&gt;refChild&lt;/code&gt;.</span>
<a name="l00200"></a>00200 <span class="comment">     *</span>
<a name="l00201"></a>00201 <span class="comment">     * If &lt;code&gt;refChild&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt;,</span>
<a name="l00202"></a>00202 <span class="comment">     * insert &lt;code&gt;newChild&lt;/code&gt; at the end of the list of children.</span>
<a name="l00203"></a>00203 <span class="comment">     * &lt;br&gt;If &lt;code&gt;newChild&lt;/code&gt; is a &lt;code&gt;DocumentFragment&lt;/code&gt; object,</span>
<a name="l00204"></a>00204 <span class="comment">     * all of its children are inserted, in the same order, before</span>
<a name="l00205"></a>00205 <span class="comment">     * &lt;code&gt;refChild&lt;/code&gt;. If the &lt;code&gt;newChild&lt;/code&gt; is already in the</span>
<a name="l00206"></a>00206 <span class="comment">     * tree, it is first removed.  Note that a &lt;code&gt;DOM_Node&lt;/code&gt; that</span>
<a name="l00207"></a>00207 <span class="comment">     * has never been assigned to refer to an actual node is == null.</span>
<a name="l00208"></a>00208 <span class="comment">     * @param newChild The node to insert.</span>
<a name="l00209"></a>00209 <span class="comment">     * @param refChild The reference node, i.e., the node before which the new</span>
<a name="l00210"></a>00210 <span class="comment">     *   node must be inserted.</span>
<a name="l00211"></a>00211 <span class="comment">     * @return The node being inserted.</span>
<a name="l00212"></a>00212 <span class="comment">     */</span>
<a name="l00213"></a>00213     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00214"></a>00214     insertBefore(
<a name="l00215"></a>00215             <a class="code" href="classXalanNode.html">XalanNode</a>*  newChild,
<a name="l00216"></a>00216             <a class="code" href="classXalanNode.html">XalanNode</a>*  refChild);
<a name="l00217"></a>00217 <span class="comment"></span>
<a name="l00218"></a>00218 <span class="comment">    /**</span>
<a name="l00219"></a>00219 <span class="comment">     * Replaces the child node &lt;code&gt;oldChild&lt;/code&gt; with &lt;code&gt;newChild&lt;/code&gt;</span>
<a name="l00220"></a>00220 <span class="comment">     * in the list of children, and returns the &lt;code&gt;oldChild&lt;/code&gt; node.</span>
<a name="l00221"></a>00221 <span class="comment">     *</span>
<a name="l00222"></a>00222 <span class="comment">     * If &lt;CODE&gt;newChild&lt;/CODE&gt; is a &lt;CODE&gt;DOM_DocumentFragment&lt;/CODE&gt; object,</span>
<a name="l00223"></a>00223 <span class="comment">     * &lt;CODE&gt;oldChild&lt;/CODE&gt; is replaced by all of the &lt;CODE&gt;DOM_DocumentFragment&lt;/CODE&gt;</span>
<a name="l00224"></a>00224 <span class="comment">     * children, which are inserted in the same order.</span>
<a name="l00225"></a>00225 <span class="comment">     *</span>
<a name="l00226"></a>00226 <span class="comment">     * If the &lt;code&gt;newChild&lt;/code&gt; is already in the tree, it is first removed.</span>
<a name="l00227"></a>00227 <span class="comment">     * @param newChild The new node to put in the child list.</span>
<a name="l00228"></a>00228 <span class="comment">     * @param oldChild The node being replaced in the list.</span>
<a name="l00229"></a>00229 <span class="comment">     * @return The node replaced.</span>
<a name="l00230"></a>00230 <span class="comment">     */</span>
<a name="l00231"></a>00231     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00232"></a>00232     replaceChild(
<a name="l00233"></a>00233             <a class="code" href="classXalanNode.html">XalanNode</a>*  newChild,
<a name="l00234"></a>00234             <a class="code" href="classXalanNode.html">XalanNode</a>*  oldChild);
<a name="l00235"></a>00235 <span class="comment"></span>
<a name="l00236"></a>00236 <span class="comment">    /**</span>
<a name="l00237"></a>00237 <span class="comment">     * Removes the child node indicated by &lt;code&gt;oldChild&lt;/code&gt; from the list</span>
<a name="l00238"></a>00238 <span class="comment">     * of children, and returns it.</span>
<a name="l00239"></a>00239 <span class="comment">     *</span>
<a name="l00240"></a>00240 <span class="comment">     * @param oldChild The node being removed.</span>
<a name="l00241"></a>00241 <span class="comment">     * @return The node removed.</span>
<a name="l00242"></a>00242 <span class="comment">     */</span>
<a name="l00243"></a>00243     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00244"></a>00244     removeChild(<a class="code" href="classXalanNode.html">XalanNode</a>*  oldChild);
<a name="l00245"></a>00245 <span class="comment"></span>
<a name="l00246"></a>00246 <span class="comment">    /**</span>
<a name="l00247"></a>00247 <span class="comment">     * Adds the node &lt;code&gt;newChild&lt;/code&gt; to the end of the list of children of</span>
<a name="l00248"></a>00248 <span class="comment">     * this node.</span>
<a name="l00249"></a>00249 <span class="comment">     *</span>
<a name="l00250"></a>00250 <span class="comment">     * If the &lt;code&gt;newChild&lt;/code&gt; is already in the tree, it is</span>
<a name="l00251"></a>00251 <span class="comment">     * first removed.</span>
<a name="l00252"></a>00252 <span class="comment">     * @param newChild The node to add.If it is a  &lt;code&gt;DocumentFragment&lt;/code&gt;</span>
<a name="l00253"></a>00253 <span class="comment">     *   object, the entire contents of the document fragment are moved into</span>
<a name="l00254"></a>00254 <span class="comment">     *   the child list of this node</span>
<a name="l00255"></a>00255 <span class="comment">     * @return The node added.</span>
<a name="l00256"></a>00256 <span class="comment">     */</span>
<a name="l00257"></a>00257     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html">XalanNode</a>*
<a name="l00258"></a>00258     appendChild(<a class="code" href="classXalanNode.html">XalanNode</a>*  newChild);
<a name="l00259"></a>00259 <span class="comment"></span>
<a name="l00260"></a>00260 <span class="comment">    //@}</span>
<a name="l00261"></a>00261 <span class="comment"></span><span class="comment">    /** @name Query functions. */</span><span class="comment"></span>
<a name="l00262"></a>00262 <span class="comment">    //@{</span>
<a name="l00263"></a>00263 <span class="comment"></span><span class="comment"></span>
<a name="l00264"></a>00264 <span class="comment">    /**</span>
<a name="l00265"></a>00265 <span class="comment">     *  This is a convenience method to allow easy determination of whether a</span>
<a name="l00266"></a>00266 <span class="comment">     * node has any children.</span>
<a name="l00267"></a>00267 <span class="comment">     *</span>
<a name="l00268"></a>00268 <span class="comment">     * @return  &lt;code&gt;true&lt;/code&gt; if the node has any children,</span>
<a name="l00269"></a>00269 <span class="comment">     *   &lt;code&gt;false&lt;/code&gt; if the node has no children.</span>
<a name="l00270"></a>00270 <span class="comment">     */</span>
<a name="l00271"></a>00271     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00272"></a>00272     hasChildNodes() <span class="keyword">const</span>;
<a name="l00273"></a>00273 
<a name="l00274"></a>00274 <span class="comment"></span>
<a name="l00275"></a>00275 <span class="comment">    //@}</span>
<a name="l00276"></a>00276 <span class="comment"></span><span class="comment">    /** @name Set functions. */</span><span class="comment"></span>
<a name="l00277"></a>00277 <span class="comment">    //@{</span>
<a name="l00278"></a>00278 <span class="comment"></span>
<a name="l00279"></a>00279 <span class="comment"></span>
<a name="l00280"></a>00280 <span class="comment">    /**</span>
<a name="l00281"></a>00281 <span class="comment">    * Sets the value of the node.</span>
<a name="l00282"></a>00282 <span class="comment">    *</span>
<a name="l00283"></a>00283 <span class="comment">    * Any node which can have a nodeValue (@see getNodeValue) will</span>
<a name="l00284"></a>00284 <span class="comment">    * also accept requests to set it to a string. The exact response to</span>
<a name="l00285"></a>00285 <span class="comment">    * this varies from node to node -- Attribute, for example, stores</span>
<a name="l00286"></a>00286 <span class="comment">    * its values in its children and has to replace them with a new Text</span>
<a name="l00287"></a>00287 <span class="comment">    * holding the replacement value.</span>
<a name="l00288"></a>00288 <span class="comment">    *</span>
<a name="l00289"></a>00289 <span class="comment">    * For most types of Node, value is null and attempting to set it</span>
<a name="l00290"></a>00290 <span class="comment">    * will throw DOMException(NO_MODIFICATION_ALLOWED_ERR). This will</span>
<a name="l00291"></a>00291 <span class="comment">    * also be thrown if the node is read-only.</span>
<a name="l00292"></a>00292 <span class="comment">    */</span>
<a name="l00293"></a>00293     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00294"></a>00294     setNodeValue(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;  nodeValue);
<a name="l00295"></a>00295 <span class="comment"></span>
<a name="l00296"></a>00296 <span class="comment">    //@}</span>
<a name="l00297"></a>00297 <span class="comment"></span><span class="comment">    /** @name Functions introduced in DOM Level 2. */</span><span class="comment"></span>
<a name="l00298"></a>00298 <span class="comment">    //@{</span>
<a name="l00299"></a>00299 <span class="comment"></span><span class="comment"></span>
<a name="l00300"></a>00300 <span class="comment">    /**</span>
<a name="l00301"></a>00301 <span class="comment">     * Puts all &lt;CODE&gt;DOM_Text&lt;/CODE&gt;</span>
<a name="l00302"></a>00302 <span class="comment">     * nodes in the full depth of the sub-tree underneath this &lt;CODE&gt;DOM_Node&lt;/CODE&gt;, </span>
<a name="l00303"></a>00303 <span class="comment">     * including attribute nodes, into a &quot;normal&quot; form where only markup (e.g., </span>
<a name="l00304"></a>00304 <span class="comment">     * tags, comments, processing instructions, CDATA sections, and entity </span>
<a name="l00305"></a>00305 <span class="comment">     * references) separates &lt;CODE&gt;DOM_Text&lt;/CODE&gt;</span>
<a name="l00306"></a>00306 <span class="comment">     * nodes, i.e., there are no adjacent &lt;CODE&gt;DOM_Text&lt;/CODE&gt;</span>
<a name="l00307"></a>00307 <span class="comment">     * nodes. This can be used to ensure that the DOM view of a document is the </span>
<a name="l00308"></a>00308 <span class="comment">     * same as if it were saved and re-loaded, and is useful when operations </span>
<a name="l00309"></a>00309 <span class="comment">     * (such as XPointer lookups) that depend on a particular document tree </span>
<a name="l00310"></a>00310 <span class="comment">     * structure are to be used.</span>
<a name="l00311"></a>00311 <span class="comment">     * &lt;P&gt;&lt;B&gt;Note:&lt;/B&gt; In cases where the document contains &lt;CODE&gt;DOM_CDATASections&lt;/CODE&gt;, </span>
<a name="l00312"></a>00312 <span class="comment">     * the normalize operation alone may not be sufficient, since XPointers do </span>
<a name="l00313"></a>00313 <span class="comment">     * not differentiate between &lt;CODE&gt;DOM_Text&lt;/CODE&gt;</span>
<a name="l00314"></a>00314 <span class="comment">     * nodes and &lt;CODE&gt;DOM_CDATASection&lt;/CODE&gt; nodes.&lt;/P&gt;</span>
<a name="l00315"></a>00315 <span class="comment">     */</span>
<a name="l00316"></a>00316     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00317"></a>00317     normalize();
<a name="l00318"></a>00318 <span class="comment"></span>
<a name="l00319"></a>00319 <span class="comment">    /**</span>
<a name="l00320"></a>00320 <span class="comment">     * Tests whether the DOM implementation implements a specific</span>
<a name="l00321"></a>00321 <span class="comment">     * feature and that feature is supported by this node.</span>
<a name="l00322"></a>00322 <span class="comment">     * @param feature The string of the feature to test. This is the same</span>
<a name="l00323"></a>00323 <span class="comment">     * name as what can be passed to the method &lt;code&gt;hasFeature&lt;/code&gt; on</span>
<a name="l00324"></a>00324 <span class="comment">     * &lt;code&gt;DOMImplementation&lt;/code&gt;.</span>
<a name="l00325"></a>00325 <span class="comment">     * @param version This is the version number of the feature to test. In</span>
<a name="l00326"></a>00326 <span class="comment">     * Level 2, version 1, this is the string &quot;2.0&quot;. If the version is not</span>
<a name="l00327"></a>00327 <span class="comment">     * specified, supporting any version of the feature will cause the</span>
<a name="l00328"></a>00328 <span class="comment">     * method to return &lt;code&gt;true&lt;/code&gt;.</span>
<a name="l00329"></a>00329 <span class="comment">     * @return Returns &lt;code&gt;true&lt;/code&gt; if the specified feature is supported</span>
<a name="l00330"></a>00330 <span class="comment">     * on this node, &lt;code&gt;false&lt;/code&gt; otherwise.</span>
<a name="l00331"></a>00331 <span class="comment">     */</span>
<a name="l00332"></a>00332     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00333"></a>00333     isSupported(
<a name="l00334"></a>00334             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   feature,
<a name="l00335"></a>00335             <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;   version) <span class="keyword">const</span>;
<a name="l00336"></a>00336 <span class="comment"></span>
<a name="l00337"></a>00337 <span class="comment">    /**</span>
<a name="l00338"></a>00338 <span class="comment">     * Get the &lt;em&gt;namespace URI&lt;/em&gt; of</span>
<a name="l00339"></a>00339 <span class="comment">     * this node, or &lt;code&gt;null&lt;/code&gt; if it is unspecified.</span>
<a name="l00340"></a>00340 <span class="comment">     * &lt;p&gt;</span>
<a name="l00341"></a>00341 <span class="comment">     * This is not a computed value that is the result of a namespace lookup</span>
<a name="l00342"></a>00342 <span class="comment">     * based on an examination of the namespace declarations in scope. It is</span>
<a name="l00343"></a>00343 <span class="comment">     * merely the namespace URI given at creation time.</span>
<a name="l00344"></a>00344 <span class="comment">     * &lt;p&gt;</span>
<a name="l00345"></a>00345 <span class="comment">     * For nodes of any type other than &lt;CODE&gt;ELEMENT_NODE&lt;/CODE&gt; and </span>
<a name="l00346"></a>00346 <span class="comment">     * &lt;CODE&gt;ATTRIBUTE_NODE&lt;/CODE&gt; and nodes created with a DOM Level 1 method, </span>
<a name="l00347"></a>00347 <span class="comment">     * such as &lt;CODE&gt;createElement&lt;/CODE&gt; from the &lt;CODE&gt;Document&lt;/CODE&gt;</span>
<a name="l00348"></a>00348 <span class="comment">     * interface, this is always &lt;CODE&gt;null&lt;/CODE&gt;.</span>
<a name="l00349"></a>00349 <span class="comment">     */</span>
<a name="l00350"></a>00350     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00351"></a>00351     <a class="code" href="classXalanAttr.html#aded5065e84d25c337d98fb9c08f5d86c" title="Get the namespace URI of this node.">getNamespaceURI</a>() <span class="keyword">const</span>;
<a name="l00352"></a>00352 <span class="comment"></span>
<a name="l00353"></a>00353 <span class="comment">    /**</span>
<a name="l00354"></a>00354 <span class="comment">     * Get the &lt;em&gt;namespace prefix&lt;/em&gt;</span>
<a name="l00355"></a>00355 <span class="comment">     * of this node, or &lt;code&gt;null&lt;/code&gt; if it is unspecified.</span>
<a name="l00356"></a>00356 <span class="comment">     */</span>
<a name="l00357"></a>00357     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00358"></a>00358     <a class="code" href="classXalanAttr.html#ac457d32841dd470ec68c5a53e1bdb392" title="Get the namespace prefix of this node.">getPrefix</a>() <span class="keyword">const</span>;
<a name="l00359"></a>00359 <span class="comment"></span>
<a name="l00360"></a>00360 <span class="comment">    /**</span>
<a name="l00361"></a>00361 <span class="comment">     * Returns the local part of the &lt;em&gt;qualified name&lt;/em&gt; of this node.</span>
<a name="l00362"></a>00362 <span class="comment">     * &lt;p&gt;</span>
<a name="l00363"></a>00363 <span class="comment">     * For nodes created with a DOM Level 1 method, such as</span>
<a name="l00364"></a>00364 <span class="comment">     * &lt;code&gt;createElement&lt;/code&gt; from the &lt;code&gt;DOM_Document&lt;/code&gt; interface,</span>
<a name="l00365"></a>00365 <span class="comment">     * it is null.</span>
<a name="l00366"></a>00366 <span class="comment">     */</span>
<a name="l00367"></a>00367     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00368"></a>00368     <a class="code" href="classXalanAttr.html#a4c9470c847ec9850fb18995558bf209b" title="Returns the local part of the qualified name of this node.">getLocalName</a>() <span class="keyword">const</span>;
<a name="l00369"></a>00369 <span class="comment"></span>
<a name="l00370"></a>00370 <span class="comment">    /**</span>
<a name="l00371"></a>00371 <span class="comment">     * Set the &lt;em&gt;namespace prefix&lt;/em&gt; of this node.</span>
<a name="l00372"></a>00372 <span class="comment">     * &lt;p&gt;</span>
<a name="l00373"></a>00373 <span class="comment">     * Note that setting this attribute, when permitted, changes </span>
<a name="l00374"></a>00374 <span class="comment">     * the &lt;CODE&gt;nodeName&lt;/CODE&gt; attribute, which holds the &lt;EM&gt;qualified </span>
<a name="l00375"></a>00375 <span class="comment">     * name&lt;/EM&gt;, as well as the &lt;CODE&gt;tagName&lt;/CODE&gt; and &lt;CODE&gt;name&lt;/CODE&gt; </span>
<a name="l00376"></a>00376 <span class="comment">     * attributes of the &lt;CODE&gt;DOM_Element&lt;/CODE&gt; and &lt;CODE&gt;DOM_Attr&lt;/CODE&gt;</span>
<a name="l00377"></a>00377 <span class="comment">     * interfaces, when applicable.</span>
<a name="l00378"></a>00378 <span class="comment">     * &lt;p&gt;</span>
<a name="l00379"></a>00379 <span class="comment">     * Note also that changing the prefix of an </span>
<a name="l00380"></a>00380 <span class="comment">     * attribute, that is known to have a default value, does not make a new </span>
<a name="l00381"></a>00381 <span class="comment">     * attribute with the default value and the original prefix appear, since the </span>
<a name="l00382"></a>00382 <span class="comment">     * &lt;CODE&gt;namespaceURI&lt;/CODE&gt; and &lt;CODE&gt;localName&lt;/CODE&gt; do not change.</span>
<a name="l00383"></a>00383 <span class="comment">     *</span>
<a name="l00384"></a>00384 <span class="comment">     * @param prefix The prefix of this node.</span>
<a name="l00385"></a>00385 <span class="comment">     * @exception DOMException</span>
<a name="l00386"></a>00386 <span class="comment">     *   INVALID_CHARACTER_ERR: Raised if the specified prefix contains</span>
<a name="l00387"></a>00387 <span class="comment">     *                          an illegal character.</span>
<a name="l00388"></a>00388 <span class="comment">     * &lt;br&gt;</span>
<a name="l00389"></a>00389 <span class="comment">     *   NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.</span>
<a name="l00390"></a>00390 <span class="comment">     * &lt;br&gt;</span>
<a name="l00391"></a>00391 <span class="comment">     *   NAMESPACE_ERR: Raised if the specified &lt;CODE&gt;prefix&lt;/CODE&gt; is </span>
<a name="l00392"></a>00392 <span class="comment">     *       malformed, if the specified prefix is &quot;xml&quot; and the </span>
<a name="l00393"></a>00393 <span class="comment">     *       &lt;CODE&gt;namespaceURI&lt;/CODE&gt; of this node is different from </span>
<a name="l00394"></a>00394 <span class="comment">     *       &quot;http://www.w3.org/XML/1998/namespace&quot;, if specified prefix is </span>
<a name="l00395"></a>00395 <span class="comment">     *       &quot;xmlns&quot; and the &lt;CODE&gt;namespaceURI&lt;/CODE&gt; is neither </span>
<a name="l00396"></a>00396 <span class="comment">     *       &lt;CODE&gt;null&lt;/CODE&gt; nor an empty string, or if the </span>
<a name="l00397"></a>00397 <span class="comment">     *       &lt;CODE&gt;localName&lt;/CODE&gt; is &lt;CODE&gt;null&lt;/CODE&gt;.</span>
<a name="l00398"></a>00398 <span class="comment">     */</span>
<a name="l00399"></a>00399     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00400"></a>00400     setPrefix(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;     prefix);
<a name="l00401"></a>00401 
<a name="l00402"></a>00402     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00403"></a>00403     <a class="code" href="classXalanAttr.html#a29d64d7b4931db030b1a0a229aef8218" title="Determine if the document is node-order indexed.">isIndexed</a>() <span class="keyword">const</span>;
<a name="l00404"></a>00404 
<a name="l00405"></a>00405     <span class="keyword">virtual</span> <a class="code" href="classXalanNode.html#a737e6c797973546c10650cd72cc5f8ab">IndexType</a>
<a name="l00406"></a>00406     <a class="code" href="classXalanAttr.html#ac4eb197ed43dc452ae5d3229a41eced4" title="Get the node&amp;#39;s index.">getIndex</a>() <span class="keyword">const</span>;
<a name="l00407"></a>00407 <span class="comment"></span>
<a name="l00408"></a>00408 <span class="comment">    //@}</span>
<a name="l00409"></a>00409 <span class="comment"></span>
<a name="l00410"></a>00410     <span class="comment">// These interfaces are inherited from XalanAttr...</span>
<a name="l00411"></a>00411 <span class="comment"></span>
<a name="l00412"></a>00412 <span class="comment">    /** @name Getter functions */</span><span class="comment"></span>
<a name="l00413"></a>00413 <span class="comment">     //@{</span>
<a name="l00414"></a>00414 <span class="comment"></span><span class="comment">    /**</span>
<a name="l00415"></a>00415 <span class="comment"></span>
<a name="l00416"></a>00416 <span class="comment">    * Returns the name of this attribute. </span>
<a name="l00417"></a>00417 <span class="comment">    */</span>
<a name="l00418"></a>00418     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00419"></a>00419     <a class="code" href="classXalanAttr.html#abb0407e81ba9082f7189a974e30ec20b" title="Returns the name of this attribute.">getName</a>() <span class="keyword">const</span>;
<a name="l00420"></a>00420 <span class="comment"></span>
<a name="l00421"></a>00421 <span class="comment">    /**</span>
<a name="l00422"></a>00422 <span class="comment">     *</span>
<a name="l00423"></a>00423 <span class="comment">     * Returns true if the attribute received its value explicitly in the</span>
<a name="l00424"></a>00424 <span class="comment">     * XML document, or if a value was assigned programatically with</span>
<a name="l00425"></a>00425 <span class="comment">     * the setValue function.  Returns false if the attribute value </span>
<a name="l00426"></a>00426 <span class="comment">     * came from the default value declared in the document&#39;s DTD.</span>
<a name="l00427"></a>00427 <span class="comment">     */</span>
<a name="l00428"></a>00428     <span class="keyword">virtual</span> <span class="keywordtype">bool</span>
<a name="l00429"></a>00429     getSpecified() <span class="keyword">const</span>;
<a name="l00430"></a>00430 <span class="comment"></span>
<a name="l00431"></a>00431 <span class="comment">    /**</span>
<a name="l00432"></a>00432 <span class="comment">     * Returns the value of the attribute.</span>
<a name="l00433"></a>00433 <span class="comment">     *</span>
<a name="l00434"></a>00434 <span class="comment">     * The value of the attribute is returned as a string. </span>
<a name="l00435"></a>00435 <span class="comment">     * Character and general entity references are replaced with their values.</span>
<a name="l00436"></a>00436 <span class="comment">     */</span>
<a name="l00437"></a>00437     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;
<a name="l00438"></a>00438     <a class="code" href="classXalanAttr.html#ac26aa81790cbf7cff4a72e0cf316359a" title="Returns the value of the attribute.">getValue</a>() <span class="keyword">const</span>;
<a name="l00439"></a>00439 <span class="comment"></span>
<a name="l00440"></a>00440 <span class="comment">    //@}</span>
<a name="l00441"></a>00441 <span class="comment"></span><span class="comment">    /** @name Setter functions */</span><span class="comment"></span>
<a name="l00442"></a>00442 <span class="comment">    //@{</span>
<a name="l00443"></a>00443 <span class="comment"></span>    <span class="comment"></span>
<a name="l00444"></a>00444 <span class="comment">    /**</span>
<a name="l00445"></a>00445 <span class="comment">     * Sets the value of the attribute.  A text node with the unparsed contents</span>
<a name="l00446"></a>00446 <span class="comment">     * of the string will be created.</span>
<a name="l00447"></a>00447 <span class="comment">     *</span>
<a name="l00448"></a>00448 <span class="comment">     * @param value The value of the DOM attribute to be set</span>
<a name="l00449"></a>00449 <span class="comment">     */</span>
<a name="l00450"></a>00450     <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00451"></a>00451     setValue(<span class="keyword">const</span> <a class="code" href="classXalanDOMString.html">XalanDOMString</a>&amp;  value);
<a name="l00452"></a>00452 <span class="comment"></span>
<a name="l00453"></a>00453 <span class="comment">    //@}</span>
<a name="l00454"></a>00454 <span class="comment"></span><span class="comment"></span>
<a name="l00455"></a>00455 <span class="comment">    /** @name Functions introduced in DOM Level 2. */</span><span class="comment"></span>
<a name="l00456"></a>00456 <span class="comment">    //@{</span>
<a name="l00457"></a>00457 <span class="comment"></span><span class="comment">    /**</span>
<a name="l00458"></a>00458 <span class="comment">     * The &lt;code&gt;Element&lt;/code&gt; node this attribute is attached to or</span>
<a name="l00459"></a>00459 <span class="comment">     * &lt;code&gt;null&lt;/code&gt; if this attribute is not in use.</span>
<a name="l00460"></a>00460 <span class="comment">     */</span>
<a name="l00461"></a>00461     <span class="keyword">virtual</span> <a class="code" href="classXalanElement.html">XalanElement</a>*
<a name="l00462"></a>00462     <a class="code" href="classXalanAttr.html#a3572f5f0166f651b970f5249edcc0388" title="The XalanElement node this attribute is attached to.">getOwnerElement</a>() <span class="keyword">const</span>;<span class="comment"></span>
<a name="l00463"></a>00463 <span class="comment">    //@}</span>
<a name="l00464"></a>00464 <span class="comment"></span><span class="comment"></span>
<a name="l00465"></a>00465 <span class="comment">    /**</span>
<a name="l00466"></a>00466 <span class="comment">     * Get the Xerces node this instance represent.</span>
<a name="l00467"></a>00467 <span class="comment">     *</span>
<a name="l00468"></a>00468 <span class="comment">     * @return The Xerces node</span>
<a name="l00469"></a>00469 <span class="comment">     */</span>
<a name="l00470"></a>00470     <a class="code" href="XercesBridgeTypes_8hpp.html#a2048ccb9098d3dfeaa5b41932e83afd4">DOM_AttrType</a>
<a name="l00471"></a><a class="code" href="classXercesAttrBridge.html#a1079c5f7c8574827d53fd8dc4e9567d8">00471</a>     getXercesNode()<span class="keyword"> const</span>
<a name="l00472"></a>00472 <span class="keyword">    </span>{
<a name="l00473"></a>00473         <span class="keywordflow">return</span> m_xercesNode;
<a name="l00474"></a>00474     }
<a name="l00475"></a>00475 
<a name="l00476"></a>00476 <span class="keyword">private</span>:
<a name="l00477"></a>00477 
<a name="l00478"></a>00478     <span class="comment">// Not implemented...</span>
<a name="l00479"></a>00479     <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>(<span class="keyword">const</span> <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>&amp;    theSource);
<a name="l00480"></a>00480 
<a name="l00481"></a>00481     <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>&amp;
<a name="l00482"></a>00482     <a class="code" href="classXalanAttr.html#a6ee1f8ed2b60ec823858d24020cc3e54">operator=</a>(<span class="keyword">const</span> <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>&amp;   theSource);
<a name="l00483"></a>00483 
<a name="l00484"></a>00484     <span class="keywordtype">bool</span>
<a name="l00485"></a>00485     <a class="code" href="classXalanAttr.html#a13848f29a5aed48b89840c6c0aff6c15">operator==</a>(<span class="keyword">const</span> <a class="code" href="classXercesAttrBridge.html" title="This class is deprecated.">XercesAttrBridge</a>&amp;      theRHS) <span class="keyword">const</span>;
<a name="l00486"></a>00486 
<a name="l00487"></a>00487     <span class="comment">// Data members...</span>
<a name="l00488"></a>00488     <a class="code" href="XercesBridgeTypes_8hpp.html#a2048ccb9098d3dfeaa5b41932e83afd4">DOM_AttrType</a>                    m_xercesNode;
<a name="l00489"></a>00489 
<a name="l00490"></a>00490     <a class="code" href="classXercesNodeListBridge.html" title="This class is deprecated.">XercesNodeListBridge</a>            m_children;
<a name="l00491"></a>00491 
<a name="l00492"></a>00492     <span class="keyword">const</span> <a class="code" href="classXercesBridgeNavigator.html" title="This class is deprecated.">XercesBridgeNavigator</a>&amp;    m_navigator;
<a name="l00493"></a>00493 };
<a name="l00494"></a>00494 
<a name="l00495"></a>00495 
<a name="l00496"></a>00496 
<a name="l00497"></a>00497 XALAN_CPP_NAMESPACE_END
<a name="l00498"></a>00498 
<a name="l00499"></a>00499 
<a name="l00500"></a>00500 
<a name="l00501"></a>00501 <span class="preprocessor">#endif  // !defined(XERCESATTRBRIDGE_HEADER_GUARD_1357924680)</span>
</pre></div></div>
</div>
<p align="center"><a href="graph_legend.html">Interpreting class diagrams</a></p>
<p><font color="#000000" face="arial,helvetica,sanserif" size="-1">
<i><a href="http://www.doxygen.org/">Doxygen</a> and 
<a href="http://www.graphviz.org/">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="80%">
 <tr>
  <td width="80%" valign="top">
	<p align="center"><b>Xalan-C++ XSLT Processor Version 1.11</b><br/>
	Copyright &copy; 1999-2012 The Apache Software Foundation.<br/>
	All Rights Reserved.</p>
  </td>
 </tr>
 <tr>
  <td width="100%">
	<p align="center"><img src="asf_logo_wide.gif" width="268" height="25" align="bottom" border="0" alt="Apache Logo">
  </td>
 </tr>
</table>
</body>
</html>
