W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > November 2006

Re: Viewport and nested selected nodes

From: Alex Milowski <alex@milowski.org>
Date: Thu, 02 Nov 2006 07:43:27 -0800
Message-ID: <454A121F.2070202@milowski.org>
To: public-xml-processing-model-wg <public-xml-processing-model-wg@w3.org>

Richard Tobin wrote:
> [Catching up on mail, so this is a bit late.]
> 
>> Having to choose between:
>>
>> A) <p:viewport> and <p:for-each> are consistent. They are both
>> guaranteed to stream, so they can both be used on large documents.
>> B) <p:for-each> uses XPath and iterates over all the nodes so it can
>> be used to handle directly your use case.
>>
>> I would go with A.
> 
> Match patterns aren't necessarily streamable.  You can put any
> expression in a predicate, e.g. a[@b = /x/y/z].  Unless the patterns
> are very restricted, implementations that want to stream are going to
> have to analyse them anyway to determine whether they are streamable.

The analysis is limited to predicates.  That's a big win for streaming.

In addition, the pattern a[@b = /x/y/z] can be streamed with a bounded
cache.  The actual size of the cache will vary depending on the document
but for reasonable predicates and instance combinations, it doesn't
grow to the whole document.

Obviously, a pipeline author can completely blow it in terms of
streaming if the do something like the above and the 'z' element is
near the end of the document.

--Alex Milowski
Received on Thursday, 2 November 2006 15:43:49 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:49 GMT