[
Lists Home |
Date Index |
Thread Index
]
- From: "Steven E. Harris" <steven.harris@tenzing.com>
- To: xml-dev@lists.xml.org
- Date: Tue, 21 Nov 2000 08:01:14 -0800
Steve Muench <smuench@us.oracle.com> writes:
> How close in your opinion is Michael Kay's <saxon:preview> extension
> documented at:
>
> http://users.iclway.co.uk/mhkay/saxon/saxon6.0/extensions.html#saxon:preview
>
> to solving the customer problem that a "streamable subset"
> is trying to accomplish?
Mr. Kay's approach is similar to both XML::Twig and to the Perl
modules I had written on my own. The overlap is in the specific
management of a designated subtree. For my own design, I had opted to
build subtrees *only* for elements designated as "interesting" to a
template. These subtrees were each cleaned up after processing. The
problem there - which I think saxon:preview shares - is that the user
can foil the whole optimization by specifying, say, the root element
as "interesting."
The following paragraph describing saxon:preview surprised me:
> During the matching of a preview element and during the execution of
> the preview template, only part of the source document is
> visible. This part includes the ancestors of the preview element,
> the descendants of the preview element, and all nodes that precede
> the preview element in document order, except for nodes that are
> descendants of another preview element.
In order to expose these ancestors, the rest of the tree must be built
and kept around. That is, with saxon:preview, partial
building/deleting is the exception. My own design and XML::Twig both
build only upon request and discard the rest. saxon:preview is thus
more useful - but with slightly higher memory consumption.
--
Steven E. Harris :: steven.harris@tenzing.com
Tenzing :: http://www.tenzing.com
|