[Bug 28833] [XSLT30] Streamability of fn:current and varrefs should be roaming in higher-order operands

https://www.w3.org/Bugs/Public/show_bug.cgi?id=28833

--- Comment #3 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
There may be an even simpler solution. Check the fn:current-group rules, which
presently say, as a requirement to be non-roaming:

1.b. The path in the construct tree that connects C to the sequence constructor
forming the body of F is such that no child construct is a higher-order operand
of its parent

For fn:current we could rewrite this and say that:

Let the posture P be the  context posture for evaluation of the outermost
containing XPath expression (that is, the context posture that would obtain if
the entire XPath expression were replaced with ".")

Then, the first that applies:

1. If P is grounded then motionless and grounded;
2. If fn:current is used within a higher-order operand then roaming and
free-ranging;
3. Otherwise, posture P and the sweep is motionless.

The same can be used for variable references.

We already have a statement on higher-order operands, but the part for path and
simple mapping expressions is generic, it may be helpful to extend it with
examples for "/" and "!" (see under 19 Streamability 13th para, 3rd bullet).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Saturday, 27 June 2015 23:36:11 UTC