> > The problem comes if the parser tries to build a tree rather than
> > simply reporting an event stream.
>
> How many real world applications will be happy with just the event
> stream ? XSL-visualization always needs two trees, the parser tree
> and the resulting Formatting Object Tree (FOT). Double impact ! XML-
> querys/DOM need to build a transformed versions. Triple impact !
Yes, but often the trees can be built and discarded at a fairly low
level. For example, if I have a serialised database table like
<table>
<entry>
<name>David Megginson</name>
<email>david@megginson.com</email>
</entry>
<entry>
<name>Ingo Macherius</name>
<email>macherius@darmstadt.gmd.de</email>
</entry>
<!-- etc., 2,500,000 times -->
</table>
I do not need to build a tree for the whole document; instead, I can
cache the information for each entry (or each n entries, for
efficiency), dump it into my SQL database (or whatever), then move on
to the next set.
The second situation is where you are using XML to serialise a data
model that is already well-defined (as for vector graphics). In this
case, it makes more sense to build the specialised object tree
directly from the event stream rather than building a DOM tree only to
tear it down. Specialised object trees can be considerably smaller
than a corresponding DOM tree, depending on the format.
All the best,
David
-- David Megginson david@megginson.com http://www.megginson.com/