SAX2: Proposed alternative DTD interface

Lars Marius Garshol larsga at
Sat Mar 27 18:02:58 GMT 1999

* David Megginson
| Here's another alternative for SAX2: forget about trying to report
| DTD declarations as events, and simply make the whole DTD available
| through an interface with a Parser2.get() call.
I'm against this. Having an event-based/object-based dichotomy makes
sense for DTDs just as it does for document instances. Also, this
breaks with the rest of SAX, is relatively complex and will at some
point probably be in direct competition with the DOM Level X.

Parsers that already have an internal object representation of the DTD
will need to wrap that with this interface, which probably won't be a
a very nice job, while an adapter for the event-based interface should
be simple.

Furthermore, this can be built on top of a 100% event-based SAX2.

And, finally, I dislike the iterators. They are just a nuisance in
higher-level languages, and a plain array would probably be better.
It would also free us from all this casting.

I say do it, but on top of an event-based interface, outside of the
SAX2 core and preferably without the iterators. A nice addition might
be support for content model automatons. (Three methods are needed:
get_start_state, get_next_state and is_final_state.)

--Lars M.

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