multiple handlers

Tyler Baker tyler at infinet.com
Tue Feb 24 20:09:40 GMT 1998


David Megginson wrote:

> Michael Kay writes:
>
>  > >In a private message, one SAX user raised the issue again of multiple
>  > >handlers
>  > >Any further thoughts on this issue?
>  > >
>  > I've implemented a layer on top of SAX that provides not only multiple
>  > handlers, but also per-element-type handlers. Since it is trivial to
>  > implement this on top of SAX, I suggest it shouldn't go into SAX itself.
>
> I had this same thought when I was walking my girls to school after
> lunch.  Unlike a GUI, which spends most of its time waiting for the
> user to do something interesting, an XML parser has to deal with
> hundreds or thousands of events each second, and perhaps millions of
> events in a hefty XML document.
>
> Upon reflection, I am becoming more inclined to agree with the
> arguments that people made in the first round, that the overhead of
> walking through a vector of handlers and delivering each event to each
> one can be excessive.  Besides, as Michael rightly points out,
> implementing a multi-listener interface on top of SAX is trivial if
> you really need it.

You don't need to actually use a Vector, but you could instead use an array or
just a single object if the Vector was of length one.  You may initially use a
Vector to store your the handlers, but when you are about to parse you could just
turn this into an array of handlers or else just a single handler.  There are a
lot of ways to go about this so any performance loss would be a function of how
many handlers you are using.  Nevertheless, SAX could just have a standard
MulticastHandler implementation that dispatches events to multiple handlers.  I
think it would be useful to include in the Java SAX distribution a generic class
to do this sort of thing.

Tyler


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list