SAX2: DOM support

David Megginson david at megginson.com
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

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ 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