org.apache.xml.serializer
Class TreeWalker

java.lang.Object
  extended by org.apache.xml.serializer.TreeWalker

public final class TreeWalker
extends java.lang.Object

This class does a pre-order walk of the DOM tree, calling a ContentHandler interface as it goes. This class is a copy of the one in org.apache.xml.utils. It exists to cut the serializers dependancy on that package.


Field Summary
private  org.xml.sax.ContentHandler m_contentHandler
          Local reference to a ContentHandler
protected  DOM2Helper m_dh
          DomHelper for this TreeWalker
private  org.xml.sax.helpers.LocatorImpl m_locator
          Locator object for this TreeWalker
private  SerializationHandler m_Serializer
          If m_contentHandler is a SerializationHandler, then this is a reference to the same object.
(package private)  boolean nextIsRaw
          Flag indicating whether following text to be processed is raw text
 
Constructor Summary
TreeWalker(org.xml.sax.ContentHandler ch)
           
TreeWalker(org.xml.sax.ContentHandler contentHandler, java.lang.String systemId)
          Constructor.
 
Method Summary
private  void dispatachChars(org.w3c.dom.Node node)
          Optimized dispatch of characters.
protected  void endNode(org.w3c.dom.Node node)
          End processing of given node
 org.xml.sax.ContentHandler getContentHandler()
          Get the ContentHandler used for the tree walk.
protected  void startNode(org.w3c.dom.Node node)
          Start processing given node
 void traverse(org.w3c.dom.Node pos)
          Perform a pre-order traversal non-recursive style.
 void traverse(org.w3c.dom.Node pos, org.w3c.dom.Node top)
          Perform a pre-order traversal non-recursive style.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_contentHandler

private final org.xml.sax.ContentHandler m_contentHandler
Local reference to a ContentHandler


m_Serializer

private final SerializationHandler m_Serializer
If m_contentHandler is a SerializationHandler, then this is a reference to the same object.


m_dh

protected final DOM2Helper m_dh
DomHelper for this TreeWalker


m_locator

private final org.xml.sax.helpers.LocatorImpl m_locator
Locator object for this TreeWalker


nextIsRaw

boolean nextIsRaw
Flag indicating whether following text to be processed is raw text

Constructor Detail

TreeWalker

public TreeWalker(org.xml.sax.ContentHandler ch)

TreeWalker

public TreeWalker(org.xml.sax.ContentHandler contentHandler,
                  java.lang.String systemId)
Constructor.

Parameters:
contentHandler - The implemention of the contentHandler operation (toXMLString, digest, ...)
Method Detail

getContentHandler

public org.xml.sax.ContentHandler getContentHandler()
Get the ContentHandler used for the tree walk.

Returns:
the ContentHandler used for the tree walk

traverse

public void traverse(org.w3c.dom.Node pos)
              throws org.xml.sax.SAXException
Perform a pre-order traversal non-recursive style. Note that TreeWalker assumes that the subtree is intended to represent a complete (though not necessarily well-formed) document and, during a traversal, startDocument and endDocument will always be issued to the SAX listener.

Parameters:
pos - Node in the tree where to start traversal
Throws:
TransformerException
org.xml.sax.SAXException

traverse

public void traverse(org.w3c.dom.Node pos,
                     org.w3c.dom.Node top)
              throws org.xml.sax.SAXException
Perform a pre-order traversal non-recursive style. Note that TreeWalker assumes that the subtree is intended to represent a complete (though not necessarily well-formed) document and, during a traversal, startDocument and endDocument will always be issued to the SAX listener.

Parameters:
pos - Node in the tree where to start traversal
top - Node in the tree where to end traversal
Throws:
TransformerException
org.xml.sax.SAXException

dispatachChars

private final void dispatachChars(org.w3c.dom.Node node)
                           throws org.xml.sax.SAXException
Optimized dispatch of characters.

Throws:
org.xml.sax.SAXException

startNode

protected void startNode(org.w3c.dom.Node node)
                  throws org.xml.sax.SAXException
Start processing given node

Parameters:
node - Node to process
Throws:
org.xml.sax.SAXException

endNode

protected void endNode(org.w3c.dom.Node node)
                throws org.xml.sax.SAXException
End processing of given node

Parameters:
node - Node we just finished processing
Throws:
org.xml.sax.SAXException