blob: 34f4b507dc98ef8fa50676d017e9d2b4fdea1de7 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "./dtd/document.dtd">
<s1 title="IteratorView Sample">
<s2 title="IteratorView">
<p>The <code>IteratorView</code> is an interactive UI sample that displays the DOM tree. It
shows the progress of the iteration by moving the selection within the DOM tree.
Buttons act as a control panel, allowing the user to interactively iterate through
the tree, remove nodes, add nodes, and view the results immediately in the tree.</p>
<p>The <code>IteratorView</code> uses an example filter, <code>NameNodeFilter</code>, that can be controlled
from the UI and a <code>DOMTreeFull</code> class that displays the full DOM tree with all
the nodes.</p>
<p>The controls are called through to to the corresponding iterator function. If you
are familiar with the DOM Level 2 Traversal specification, these controls are
fairly easy to understand</p>
<s3 title="Iterator Group">
<ul>
<li>Next - calls the <code>next()</code> functions and selects the next node in the tree.</li>
<li>Previous - calls the <code>previous()</code> function and selects the previous node in
the tree.</li>
</ul>
</s3>
<s3 title="Selected Node Group">
<ul>
<li><code>remove</code> - remove the selected Node and update the DOM tree. You
must press an iterator button to see next or previous node selection. </li>
<li><code>add</code> - add a text node, to see the results of adding a node on the iterator.
position. Again you must first press next or previous </li>
</ul>
</s3>
<s3 title="Iterator Settings Group">
<ul>
<li><code>createNodeIterator</code> - calls the factory method to create a new iterator
with the corresponding <code>whatToShow</code> and <code>NameNodeFilter</code> settings.</li>
<ul>
<li>The root is set to be the root of the document, so it
starts at the top level each time.</li>
</ul>
<li><code>whatToShow</code> - you can singly or multiply select values and the
iterator is constrained to showing these types.</li>
<li><code>NodeNameFilter</code> - An empty string is converted to null and given
to the <code>NodeNameFilter</code> class.</li>
<ul>
<li>An empty string matches all nodes.</li>
<li>A non-empty string is forced to match node names.</li>
</ul>
</ul>
</s3>
</s2>
<s2 title="Running IteratorView">
<source>java dom.traversal.IteratorView &lt;fileName&gt;</source>
</s2>
</s1>