SAX2: DOM support

David Megginson david at
Tue Jan 18 14:27:13 GMT 2000

We've talked in the past about supplying better DOM support in SAX2
through features and properties.  There are two options:

1. Pull

   Define a read-only 'dom-iterator' feature that tells whether the
   current reader is iterating over a DOM tree or not.  Define a
   read-only 'dom-node' property (valid only during parsing) that
   returns the current DOM node.

   The DOM iterator could either get the root DOM node through its
   constructor (as I imagined), through a magic URI argument to
   parse(), or as David B. suggested, by making the 'dom-node'
   property writable outside of the parse.

2. Push

   Define the 'dom-iterator' feature, and possibly also a 'dom-node'
   property for setting the initial node, but add a 'dom-handler'
   property for an extension handler to report the current DOM node:

   public interface DOMHandler
     startNode (Node node) throws SAXException;
     endNode (Node node) throws SAXException;

   This saves a lot of unnecessary hashtable lookups.

Which of the two do people prefer?

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.

More information about the Xml-dev mailing list