OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Streaming XML Processing

[ Lists Home | Date Index | Thread Index ]

>Is anyone aware of publically available implementations of XPath, 
>XQuery, and XSLT that operate in a streaming manner i.e. in a single 
>pass over the input.

In general, this can't be done.  An XPath expression, starting at any
point in the document, can navigate to any other point.  So for
example there's nothing to stop the XSLT template that matches the
last chapter of a book from referring to the title of the first
chapter.  Templates can do random access.

[On the other hand, XSLT's *output* is sequential.  An XSLT
implementation could in principle generate arbitrarily huge
documents without needing much memory.]

It's quite a severe restriction for a transformation to be completely
streamable.  It would imply that nothing that was copied from the
input to the output was ever in a different order in the output.  On
the other hand it's quite common for transformations to be *mostly*
sequential, with templates performing random access only within rather
local parts of the input.  But it's rather difficult to determine that
automatically.

-- Richard




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS