Re: [xsl] Streaming terminology: Grounded

Subject: Re: [xsl] Streaming terminology: Grounded
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Tue, 21 Jan 2014 11:40:12 +0000
> 	The construct copy-of(.) is *grounded* because,
> 	when executed, it result in nodes that are
> 	not stream-processed.
>
> Is that correct?

yes.
>
> Now for a question please. Yesterday Michael wrote:
>
> 	> Grounded expressions can be consuming,
>
> Yes, I can see that. The copy-of(.) construct reads (consumes) the input and
results in nodes that are not stream-processed.
>
> 	> and non-grounded expressions can be non-consuming.
>
> That is saying there are expressions which, when evaluated, do not read
(consume) the input and yield nodes that are stream-processed, right?
>
> Would you give an example of this please?
>

The expression ../@code is climbing and motionless

Other examples are a little artificial, but still exist:

* Non-streamable expressions such as preceding-sibling::* are neither grounded
nor consuming.

* The expression "." has posture that depends on the context item posture, and
sweep that is intrinsically motionless. So in a context like

child::x/name(.)

the expression "." has posture = striding, sweep = motionless

Michael Kay
Saxonica

Current Thread