<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Xerces-C++: DOMNodeIterator Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>DOMNodeIterator Class Reference</h1><!-- doxytag: class="DOMNodeIterator" --><code>DOMNodeIterators</code> are used to step through a set of nodes, e.g. <a href="#_details">More...</a> <p> <p> <a href="classDOMNodeIterator-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#fff63c093ecfb3875e1745799528215b">~DOMNodeIterator</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#fff63c093ecfb3875e1745799528215b"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Functions introduced in DOM Level 2</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classDOMNode.html">DOMNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#e0d9e45b67db8611aef943caee6b3be0">getRoot</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <code>root</code> node of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>, as specified when it was created. <a href="#e0d9e45b67db8611aef943caee6b3be0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classDOMNodeFilter.html#c1946b252d8fa2ef980280cd94790bf3">DOMNodeFilter::ShowType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#fe169486fe286cc9e532f005b09a3dcd">getWhatToShow</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return which node types are presented via the iterator. <a href="#fe169486fe286cc9e532f005b09a3dcd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classDOMNodeFilter.html">DOMNodeFilter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#f1ca0dcbf2ce5ab9396f6f35d2769dff">getFilter</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The <code><a class="el" href="classDOMNodeFilter.html" title="Filters are objects that know how to "filter out" nodes.">DOMNodeFilter</a></code> used to screen nodes. <a href="#f1ca0dcbf2ce5ab9396f6f35d2769dff"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#b588cd981c8402be330f07f0e6b8002e">getExpandEntityReferences</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the expandEntityReferences flag. <a href="#b588cd981c8402be330f07f0e6b8002e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classDOMNode.html">DOMNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#a745a93c0dae8cda260a3e93473da8ad">nextNode</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the next node in the set and advances the position of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> in the set. <a href="#a745a93c0dae8cda260a3e93473da8ad"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classDOMNode.html">DOMNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#1d3b3311004f9a8ed65ae576afe50deb">previousNode</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the previous node in the set and moves the position of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> backwards in the set. <a href="#1d3b3311004f9a8ed65ae576afe50deb"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#8bd215b2a079de9ee273eb8ba36301ca">detach</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Detaches the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> from the set which it iterated over, releasing any computational resources and placing the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> in the INVALID state. <a href="#8bd215b2a079de9ee273eb8ba36301ca"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader">Non-standard Extension</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#5f695123d979adf4b02473f1a854d7ad">release</a> ()=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called to indicate that this NodeIterator is no longer in use and that the implementation may relinquish any resources associated with it. <a href="#5f695123d979adf4b02473f1a854d7ad"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Hidden constructors</div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#863cbd96220a85aac998d89753738cd1">DOMNodeIterator</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classDOMNodeIterator.html#f3e7073806964d4129d31a7d2d390f85">DOMNodeIterator</a> (const <a class="el" href="classDOMNodeIterator.html">DOMNodeIterator</a> &)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <code>DOMNodeIterators</code> are used to step through a set of nodes, e.g. <p> the set of nodes in a <code><a class="el" href="classDOMNodeList.html" title="The DOMNodeList interface provides the abstraction of an ordered collection of nodes...">DOMNodeList</a></code>, the document subtree governed by a particular <code><a class="el" href="classDOMNode.html" title="The DOMNode interface is the primary datatype for the entire Document Object Model...">DOMNode</a></code>, the results of a query, or any other set of nodes. The set of nodes to be iterated is determined by the implementation of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>. DOM Level 2 specifies a single <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> implementation for document-order traversal of a document subtree. Instances of these <code>DOMNodeIterators</code> are created by calling <code><a class="el" href="classDOMDocumentTraversal.html" title="DOMDocumentTraversal contains methods that create DOMNodeIterators and DOMTreeWalkers...">DOMDocumentTraversal</a></code><code>.createNodeIterator()</code>. <p> See also the <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113">Document Object Model (DOM) Level 2 Traversal and Range Specification</a>. <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="863cbd96220a85aac998d89753738cd1"></a><!-- doxytag: member="DOMNodeIterator::DOMNodeIterator" ref="863cbd96220a85aac998d89753738cd1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">DOMNodeIterator::DOMNodeIterator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f3e7073806964d4129d31a7d2d390f85"></a><!-- doxytag: member="DOMNodeIterator::DOMNodeIterator" ref="f3e7073806964d4129d31a7d2d390f85" args="(const DOMNodeIterator &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">DOMNodeIterator::DOMNodeIterator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classDOMNodeIterator.html">DOMNodeIterator</a> & </td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fff63c093ecfb3875e1745799528215b"></a><!-- doxytag: member="DOMNodeIterator::~DOMNodeIterator" ref="fff63c093ecfb3875e1745799528215b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual DOMNodeIterator::~DOMNodeIterator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="e0d9e45b67db8611aef943caee6b3be0"></a><!-- doxytag: member="DOMNodeIterator::getRoot" ref="e0d9e45b67db8611aef943caee6b3be0" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classDOMNode.html">DOMNode</a>* DOMNodeIterator::getRoot </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The <code>root</code> node of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>, as specified when it was created. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="fe169486fe286cc9e532f005b09a3dcd"></a><!-- doxytag: member="DOMNodeIterator::getWhatToShow" ref="fe169486fe286cc9e532f005b09a3dcd" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classDOMNodeFilter.html#c1946b252d8fa2ef980280cd94790bf3">DOMNodeFilter::ShowType</a> DOMNodeIterator::getWhatToShow </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return which node types are presented via the iterator. <p> This attribute determines which node types are presented via the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>. The available set of constants is defined in the <code><a class="el" href="classDOMNodeFilter.html" title="Filters are objects that know how to "filter out" nodes.">DOMNodeFilter</a></code> interface. Nodes not accepted by <code>whatToShow</code> will be skipped, but their children may still be considered. Note that this skip takes precedence over the filter, if any. <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="f1ca0dcbf2ce5ab9396f6f35d2769dff"></a><!-- doxytag: member="DOMNodeIterator::getFilter" ref="f1ca0dcbf2ce5ab9396f6f35d2769dff" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classDOMNodeFilter.html">DOMNodeFilter</a>* DOMNodeIterator::getFilter </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The <code><a class="el" href="classDOMNodeFilter.html" title="Filters are objects that know how to "filter out" nodes.">DOMNodeFilter</a></code> used to screen nodes. <p> <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="b588cd981c8402be330f07f0e6b8002e"></a><!-- doxytag: member="DOMNodeIterator::getExpandEntityReferences" ref="b588cd981c8402be330f07f0e6b8002e" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool DOMNodeIterator::getExpandEntityReferences </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return the expandEntityReferences flag. <p> The value of this flag determines whether the children of entity reference nodes are visible to the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>. If false, these children and their descendants will be rejected. Note that this rejection takes precedence over <code>whatToShow</code> and the filter. Also note that this is currently the only situation where <code>DOMNodeIterators</code> may reject a complete subtree rather than skipping individual nodes. <br> <br> To produce a view of the document that has entity references expanded and does not expose the entity reference node itself, use the <code>whatToShow</code> flags to hide the entity reference node and set <code>expandEntityReferences</code> to true when creating the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code>. To produce a view of the document that has entity reference nodes but no entity expansion, use the <code>whatToShow</code> flags to show the entity reference node and set <code>expandEntityReferences</code> to false.<p> <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="a745a93c0dae8cda260a3e93473da8ad"></a><!-- doxytag: member="DOMNodeIterator::nextNode" ref="a745a93c0dae8cda260a3e93473da8ad" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classDOMNode.html">DOMNode</a>* DOMNodeIterator::nextNode </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the next node in the set and advances the position of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> in the set. <p> After a <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> is created, the first call to <code><a class="el" href="classDOMNodeIterator.html#a745a93c0dae8cda260a3e93473da8ad" title="Returns the next node in the set and advances the position of the DOMNodeIterator...">nextNode()</a></code> returns the first node in the set. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The next <code><a class="el" href="classDOMNode.html" title="The DOMNode interface is the primary datatype for the entire Document Object Model...">DOMNode</a></code> in the set being iterated over, or <code>null</code> if there are no more members in that set. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classDOMException.html">DOMException</a></em> </td><td>INVALID_STATE_ERR: Raised if this method is called after the <code>detach</code> method was invoked. </td></tr> </table> </dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="1d3b3311004f9a8ed65ae576afe50deb"></a><!-- doxytag: member="DOMNodeIterator::previousNode" ref="1d3b3311004f9a8ed65ae576afe50deb" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classDOMNode.html">DOMNode</a>* DOMNodeIterator::previousNode </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the previous node in the set and moves the position of the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> backwards in the set. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The previous <code><a class="el" href="classDOMNode.html" title="The DOMNode interface is the primary datatype for the entire Document Object Model...">DOMNode</a></code> in the set being iterated over, or <code>null</code> if there are no more members in that set. </dd></dl> <dl compact><dt><b>Exceptions:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classDOMException.html">DOMException</a></em> </td><td>INVALID_STATE_ERR: Raised if this method is called after the <code>detach</code> method was invoked. </td></tr> </table> </dl> <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="8bd215b2a079de9ee273eb8ba36301ca"></a><!-- doxytag: member="DOMNodeIterator::detach" ref="8bd215b2a079de9ee273eb8ba36301ca" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void DOMNodeIterator::detach </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Detaches the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> from the set which it iterated over, releasing any computational resources and placing the <code><a class="el" href="classDOMNodeIterator.html" title="DOMNodeIterators are used to step through a set of nodes, e.g.">DOMNodeIterator</a></code> in the INVALID state. <p> After <code>detach</code> has been invoked, calls to <code>nextNode</code> or <code>previousNode</code> will raise the exception INVALID_STATE_ERR. <dl class="since" compact><dt><b>Since:</b></dt><dd>DOM Level 2 </dd></dl> </div> </div><p> <a class="anchor" name="5f695123d979adf4b02473f1a854d7ad"></a><!-- doxytag: member="DOMNodeIterator::release" ref="5f695123d979adf4b02473f1a854d7ad" args="()=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void DOMNodeIterator::release </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Called to indicate that this NodeIterator is no longer in use and that the implementation may relinquish any resources associated with it. <p> (<a class="el" href="classDOMNodeIterator.html#5f695123d979adf4b02473f1a854d7ad" title="Called to indicate that this NodeIterator is no longer in use and that the implementation...">release()</a> will call <a class="el" href="classDOMNodeIterator.html#8bd215b2a079de9ee273eb8ba36301ca" title="Detaches the DOMNodeIterator from the set which it iterated over, releasing any computational...">detach()</a> where appropriate)<p> Access to a released object will lead to unexpected result. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="DOMNodeIterator_8hpp-source.html">DOMNodeIterator.hpp</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jan 29 15:30:48 2010 for Xerces-C++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>