I have been making heavy use of a layer of code that does
just that; I am busy right now rewriting it for SAX 1.0 (and
to fix all the things I got wrong first time round) and hope
to publish it asap. This is certainly a quite different
animal from SAX and belongs as an separate layer on top.
Mike