[XML-SIG] SAX2 discussion

Lars Marius Garshol larsga@ifi.uio.no
26 Mar 1999 16:50:46 +0100


The design and functionality of SAX2 is currently being thrashed out
on the xml-dev mailing list, and I'd like to get a parallell
discussion started here so that we can be ready for a Python SAX2
release around the same time that the Java version is released.

Also, it is quite likely that people here will have suggestions and
ideas that could influence the overall direction of SAX2, and so we
had better start now, in good time before SAX2 is finalized.

Generally, what has been decided so far is that SAX2 should have:

  - an extended parser interface, offering registration of handlers by
  globally unique IDs, getting and setting of properties (again by ID)
  and also turning features on/off (also by ID)

  - a lexical handler for lexical events (comments, CDATA marked
  sections, event boundaries etc)

  - a DTD handler for DTD information (attribute declarations, entity
  declarations etc)

  - a namespace handler

The idea is that SAX2 is to get it's own Java package and be an
optional and 100% backwardly-compatible extension to SAX 1.0.

I'll try to start separate discussion threads here on the following
subjects (in this order):

  - general ideas for the mapping and extra features in the Python
  version 

  - fixes to the previous version

  - the extended parser interface

  - the list of features

  - the list of properties

  - the list of handlers

  - the lexical handler interface

  - the DTD handler interface

  - the namespace handler interface

  - what to do about filters


I'll be starting these threads as soon as I can get together starting
points for the various topics. Once some kind of agreement has been
reached (and the Java version has been finalized) I'll put together
saxlib 2.0 and a new driver package, both of which should probably be
in beta for a while.

If anyone thinks this discussion will swamp the list completely and
should be discussed elsewhere, or has other opinions about this
procedure, please come forward with them now.

Also, when saxlib 1.0 was defined there was hardly any discussion at
all (until too late), which was unfortunate since it meant that the
interface was frozen already when most people started looking at it.
So _please_ don't let that happen again. Please at least take some
time to ensure that the design at least makes a little bit of sense to
you.

--Lars M. (off to the pub :)