Streaming XSL Stylesheets - Was: XML::Writer 0.1 available

Kay Michael Michael.Kay at
Tue Apr 20 19:26:47 BST 1999

> On Mon, Apr 19, 1999 at 10:02:56PM -0400, David Megginson wrote:
> > XSL provides one good and very powerful model for doing XML
> > transformations, but that model itself requires that an entire
> > document be held in random-access storage of some sort (say, memory,
> > or a database) during processing, and that's inappropriate for the
> > very large subset of XML work that is both speed- and 
> memory-critical.
> From: Eric Prud'hommeaux [mailto:eric at]>
> I'd love to differ with you here. In practice, I can't, but in
> theory... I have this itch to work out and implemnt an XSL parser that
> works as as a SAX stream. Given an XslStream that reads the parsed
> stylesheet from an XslDB and has an output SAX stream $this->{OUTPUT},
> the notion is something like this:

SAXON provides SerialStyleSheet, an implementation of a subset of XSL that
processes the source document serially using SAX, and doesn't create the
document in memory. You can do some quite useful transformations with it. In
particular, you can break a big document up into chunks that will fit in
memory more comfortably; you can also do document subsetting/pruning, and at
least as much styling as CSS allows.

The benefits are in memory use rather than speed, though I think it could be
speeded up considerably. Coming in the next version is an XSL compiler
(generates a Java application) which certainly helps with the speed factor.

(Java not Perl: sorry for intruding on a Perl discussion.)

Mike Kay

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list