events vs callbacks (was Re: SAX2 (was Re: DOM vs. SAX??? Nah. ))

Gabe Beged-Dov begeddov at
Thu Feb 25 16:04:54 GMT 1999

David Megginson wrote:

> Gabe Beged-Dov writes:
>  > SAX is described as an event-based API. IMO, it is a callback based
>  > API.
> Event-based programming existed before people started encapsulating
> events in structures or objects.  I'd define SAX as an event-based API
> that reports events using callbacks.

There are various axes to use for terminology (as many of the threads on
this list
show :-().  To reuse a term from the previous sentence, I would say that
the key axis to use to distinguish event-based vs callback-based is
"thread" of control. A callback-based API passes the thread of control to
the "message" receiver. A event-based API queues the "message". The
receiver uses its own thread of control to process the message.

The current crop of parsers and frameworks (SAX, MDSAX) are definitely in
the single threaded camp. The discussion of streaming (in other threads
:-), has only brought up multiple threads of control tangentially, in one
response that discussed wanting to hand off the processing of a "packet"
to another process in a high volume server scenario.

There is alot of discussion of data models vs API. I would like to see
control flow added to the axes that people argue about :-).

Gabe Beged-Dov

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list