Subject: Re: 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
|