Matt Sergeant <matt / sergeant.org> writes:

> One thing it looks like to me is that your "SAX" parser isn't SAX at all,
> but a pull parser (SAX is event/callback based). So it doesn't seem quite
> right to call it SAX.

I interpret a SAX parser as one that does not build an object tree, but
instead notifies the calling program when each element of the XML is seen.

Does SAX really *require* callbacks? For example, when reading
http://www.megginson.com/SAX/index.html (a link I found on
http://www.w3.org/XML/), it mentions event-based programming. See also the
"What is an event-based API" link on the meggison.com page). From that page
(quoted without permission):

    "An event-based API, on the other hand, reports parsing events (such as
    the start and end of elements) directly to the application through
    callbacks, and does not usually build an internal tree. The application
    implements handlers to deal with the different events, much like
    handling events in a graphical user interface."

Jim
-- 
Jim Menard, jimm / io.com, http://www.io.com/~jimm/
"I cannot articulate enough to express my dislike to people who think that
understanding spoils your experience... How would they know?"
    -- Marvin Minsky