blob: 94ac0a89fc70faa521bd6086e147f12dd409286c [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE s1 SYSTEM "./dtd/document.dtd">
<s1 title="TreeWalker Sample">
<s2 title="TreeWalker">
<p>The <code>TreeWalkerviewView</code> is an interactive UI sample that displays the DOM
tree. It show the progress of the tree traversal by moving the selection within the
DOM tree. Buttons act as a control panel, allowing the user to interactively
traverse the tree, remove nodes, add nodes, and view the results immediately in
the tree. </p>
<p>The <code>TreeWalkerviewView</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
<code>TreeWalker</code> function. If you are familiar with the DOM
Level 2 Traversal specification, these controls are
fairly easy to understand.</p>
<s3 title="Document Order Traversal Group">
<ul>
<li>Next - calls the <code>next()</code> functions and selects
the next in the tree.</li>
<li>Previous - calls the <code>previous()</code> function a and
selects the previous node in the DOM tree.</li>
</ul>
</s3>
<s3 title="Walk Group">
<p>Parent, Previous Sibling, Next Sibling, First Child, Last Child - call the
corresponding function in TreeWalker and show the result as a selected Node.</p>
</s3>
<s3 title="Selected Node Group">
<ul>
<li>current - set the current node to the selected node.</li>
<li>remove - remove the selected node and update the tree.
You must press a button to see next or previous node selection.</li>
<li>add - add a text node.
You must press a button to see next or previous node selection.</li>
</ul>
</s3>
<s3 title="Filter Settings Group">
<ul>
<li><code>createNodeTreeWalker</code> - calls the factory
method to create a new <code>TreeWalker</code> with the
corresponding <code>whatToShow</code> and <code>NodenameFilter</code>
settings. The selected node becomes the TreeWalker root.</li>
<li><code>whatToShow</code> - you can singly or multiply select
these values by pressing the control key and the
<code>TreeWalker</code> is constrained to these types.</li>
<li><code>NodeNameFilter</code> - an empty string is
converted to null and given to the
<code>NodeNameFilter</code> example filter class provided.</li>
<ul>
<li>An empty string (null) matches ALL nodes.</li>
<li>A non-empty string is forced to match node names.</li>
</ul>
</ul>
</s3>
</s2>
<s2 title="Running TreeWalker">
<source>java dom.traversal.TreeWalkerView &lt;fileName&gt;</source>
</s2>
</s1>