Yes, it's an interesting history. I started off by building
the document tree with MSXML, and wrote a TreeWalker class
to make it easier to process the tree serially (unlike SUN's
TreeWalker which supports a getNext() interface, mine did a
callback at each node); then I realised most of my
applications were single-pass, so I changed it to do
essentially the same thing on top of an event-based
interface like SAX. Later other people asked for a
non-serial interface, so I put the ability to walk the DOM
back in.
(I've now got it working to be independent of the DOM
implementation, with drivers for SUN and Docuverse: not yet
released though).
Mike K