Steinar Bang sb at
Thu Dec 9 16:12:56 GMT 1999

>>>>> Lars Marius Garshol <larsga at>:

> It depends on the situation. In the XSA client, which needs to
> accept both XSA and OSD documents, but can't tell them apart before
> parsing begins, uses a DispatchingDocHandler, which has a hash of
> DocumentHandlers keyed on the name of the document element. In this
> very restricted case that worked just fine.

> In other cases one might perhaps key on the namespace of the
> document element, and with SAX 2 one could use the public identifier
> of the DOCTYPE declaration.

I thought of something like this, but I couldn't decide on whether to
use a DocumentHandler or use a buffering handler that would just
buffer up the text and try matching in the buffered text until it
found something to dispatch on, sending all the buffered text as the
initial input to the XML parser.

It looks like a dispatching from a DocumentHandler is the best idea,
but then I need to be able to queue up SAX DocumentHandler events to
send to the actual DocumentHandler when I start it.

Hm... maybe an clone() function an a virtual destructor are in order
for the C++ AttributeList class...?

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 unsubscribe, mailto:majordomo at the following message;
unsubscribe 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