RE: MS chat tidbits

Subject: RE: MS chat tidbits
From: Matt Sergeant <matt@xxxxxxxxxxxx>
Date: Thu, 8 Jun 2000 12:11:22 +0100 (BST)
On Thu, 8 Jun 2000, Kay Michael wrote:

> > >1. MS is considering "streamed XSLT support" with SAX. This 
> > would allow
> > >their XSLT processor to process XML documents on a streaming 
> > basis rather
> > >than requiring the entire document to be resident in memory. 
> > 
> > The program manager for the MSXML group says that they are 
> > "just considering it," and there's a lot to consider. For example, how
> would 
> > they support aspects of XSLT that require the whole document to be in 
> > memory, such as the "following" axis? Or would they just not support it? 
> 
> Early versions of Saxon supported a streamed processing model, and I used to
> think it could be done simply by supporting a subset of XSLT/XPath. I now
> think it needs a different language with a different processing model,
> though it can have many similarities to XSLT 1.0. In particular, if you are
> working serially you need the ability to remember what you've already seen
> so you can use it later, and this needs a much richer capability for
> creating data in working storage (data types, updateable variables) than
> XSLT 1.0 offers.

There are people on this list (Hi Paul!) who think that a streaming XSLT
is merely a mathematical problem (of quite high complexity). Certainly
there is a Perl module (XML::Twig) that lets you arbitrarily keep or throw
away parts of the XML document as you've used them, or at your own
behest. So it could be possible, given that in XSLT if you keep the
stylesheet in memory (not the XML file) you know what paths are going to
occur, so you know what you can/cannot throw away. Much like now how SQL
query processors do optimisations based on knowing what indexes exist.

It will certainly be interesting to see how all this maps out in
the future - I'd love to know how to convert my own XML::XPath to a
streaming mode, but I just don't see how certain axes would be
possible. It's certainly not going to be a generic module like XPath
modules are right now - they're going to need prediction and that's going
to mean that XPath moves out of the realm of single programmer projects,
probably.

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org http://xml.sergeant.org


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread