## org.apache.xml.dtm.ref
Class DTMTreeWalker

    java.lang.Object
      |
      +--org.apache.xml.dtm.ref.DTMTreeWalker

Direct Known Subclasses:
  TreeWalker2Result

public class DTMTreeWalker
extends java.lang.Object

This class does a pre-order walk of the DTM tree, calling a ContentHandler interface as it goes. As such, it's more like the Visitor design pattern than like the DOM's TreeWalker. I think normally this class should not be needed, because of DTM#dispatchToEvents.

Usage:
  **For advanced use only**

Constructor Summary
`DTMTreeWalker()` Constructor.
`DTMTreeWalker(ContentHandler contentHandler, DTM dtm)` Constructor.

Method Summary
`ContentHandler` `getcontentHandler()` Get the ContentHandler used for the tree walk.
`void` `setcontentHandler(ContentHandler ch)` Set the ContentHandler used for the tree walk.
`void` `setDTM(DTM dtm)` Set the DTM to be traversed.
`void` `traverse(int pos)` Perform a non-recursive pre-order/post-order traversal, operating as a Visitor.
`void` `traverse(int pos, int top)` Perform a non-recursive pre-order/post-order traversal, operating as a Visitor.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DTMTreeWalker

    public DTMTreeWalker()

  Constructor.

### DTMTreeWalker

    public DTMTreeWalker(ContentHandler contentHandler,
                         DTM dtm)

  Constructor.
  Parameters:
    `contentHandler` - The implemention of the contentHandler operation (toXMLString, digest, ...)

Method Detail

### setDTM

    public void setDTM(DTM dtm)

  Set the DTM to be traversed.
  Parameters:
    `dtm` - The Document Table Model to be used.

### getcontentHandler

    public ContentHandler getcontentHandler()

  Get the ContentHandler used for the tree walk.
  Returns:
    the ContentHandler used for the tree walk

### setcontentHandler

    public void setcontentHandler(ContentHandler ch)

  Set the ContentHandler used for the tree walk.
  Parameters:
    `ch` - the ContentHandler to be the result of the tree walk.

### traverse

    public void traverse(int pos)
                  throws SAXException

  Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.
  Parameters:
    `pos` - Node in the tree at which to start (and end) traversal -- in other words, the root of the subtree to traverse over.
  Throws:
    TransformerException -

### traverse

    public void traverse(int pos,
                         int top)
                  throws SAXException

  Perform a non-recursive pre-order/post-order traversal, operating as a Visitor. startNode (preorder) and endNode (postorder) are invoked for each node as we traverse over them, with the result that the node is written out to m_contentHandler.
  Parameters:
    `pos` - Node in the tree where to start traversal
    `top` - Node in the tree where to end traversal. If top==DTM.NULL, run through end of document.
  Throws:
    TransformerException -

Copyright © 2006 Apache XML Project. All Rights Reserved.