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