Re: [xsl] Designing streamable XPath expressions

Subject: Re: [xsl] Designing streamable XPath expressions
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Sun, 5 Jan 2014 21:51:37 +0000
On 5 Jan 2014, at 21:16, Costello, Roger L. <costello@xxxxxxxxx> wrote:

> Michael Kay wrote:
>
> 	In the XSLT 3.0 specification, the expression
> 	count(//section/head) is streamable. This is
> 	explained in section 19.1
>
> I am confused. Section 19.1 clearly says that count(//section/head) is *not*
streamable. I quote section 19.1:
>
> 	The rules given later in this chapter for determining
> 	streamability produce the result that the expression
> 	count(//section/head) is not streamable.
>
> Michael, why do you say that it *is* streamable?
>

Because the section goes on to say:

In order to make such expressions streamable, implementations must therefore
detect this situation in the construct tree and perform an appropriate rewrite
before continuing with the analysis.

That is, the expression as written is not streamable using the normal rules,
so we require implementations to rewrite it in a way that (in this case at
least) makes it streamable.

Michael Kay
Saxonica

Current Thread