SAX2: pull interface

Miles Sabin msabin at
Tue Jan 18 17:24:46 GMT 2000

Stefan Haustein wrote,
> Actually, I have already implemented a "Pull Wrapper" on 
> top of SAX.
> My wrapper is LGPL-available at

Hmm ... interesting.

I guess that you must being running a plain SAX push parser in a
separate thread, and adding ParseEvents to a queue for
consumption by the pull client. At least, that's the usual
way of adapting push to pull.

I must admit that if I needed a pull parser I'd rather have
one that could run in a single thread and didn't have the
queueing overhead. But that means I'd have to have a state-
machine rather than recursive descent based parser. I think that
most SAX parsers are RD, so that'd mean new parsers ... and if
I needed a new parser I'd probably take the opportunity to
design an API that suited the task well rather than trying to
bolt it onto SAX.

OTOH, once you've got a pull parser it's very easy to construct
a push API on top of it and drive it,


So maybe we've been doing things back to front ;-)

> If someone else is implementing a pull parser, we should 
> try to agree on a common, parser independent interface.
> (e.g. org.xml.pullparser.* ?).

I think this would be a useful initiative.



Miles Sabin                       Cromwell Media
Internet Systems Architect        5/6 Glenthorne Mews
+44 (0)20 8817 4030               London, W6 0LJ, England
msabin at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: 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