Re: [xsl] XSLT streaming: is a "striding" construct dependent or independent of the XML that the construct is applied to?

Subject: Re: [xsl] XSLT streaming: is a "striding" construct dependent or independent of the XML that the construct is applied to?
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Mon, 10 Feb 2014 19:18:09 +0000
The posture of an expression is a static property of the expression; it's
based on analysis that's done independently of the data. So it's the fact that
sections could be nested that matters, regardless whether they actually are.

The streamability rules in the spec don't take any account of schema
knowledge, but a schema-aware processor is free to do smarter analysis if it
wants to.

Michael Kay
Saxonica

On 10 Feb 2014, at 10:36, Costello, Roger L. <costello@xxxxxxxxx> wrote:

> Hi Folks,
>
> Is a "striding" construct dependent on the XML that the construct is applied
to?
>
> Please allow me to explain.
>
> Consider this XML:
>
> <Document>
>    <section>
>        <title>A</title>
>        <section>
>            <title>B</title>
>        </section>
>    </section>
> </Document>
>
> This expression:
>
> 	//section
>
> yields a sequence in which the items are not disjoint. Hence //section is
not a striding construct, for this XML.
>
> But now consider this XML:
>
> <Document>
>    <section>
>        <title>A</title>
>    </section>
>    <section>
>        <title>B</title>
>    </section>
> </Document>
>
> Applying the same construct:
>
> 	//section
>
> yields a sequence in which the items are disjoint. Hence //section is a
striding construct, for this XML.
>
> So whether an expression is striding or not depends on the particular XML
that it is applied to. Is that correct?
>
> Or, is //section not striding, regardless of the XML it is applied to?
>
> /Roger

Current Thread