- From: <bugzilla@jessica.w3.org>
- Date: Fri, 31 Jan 2014 12:35:26 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24455
Bug ID: 24455
Summary: [xslt 3.0] Streamability of grouping variable
references
Product: XPath / XQuery / XSLT
Version: Last Call drafts
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: XSLT 3.0
Assignee: mike@saxonica.com
Reporter: mike@saxonica.com
QA Contact: public-qt-comments@w3.org
Consider:
<xsl:stream ...>
<xsl:for-each-group select="/a/b/copy-of()" group-adjacent="c"
bind-group="g">
<xsl:value-of select="$g/x"/>
<xsl:value-of select="$g/y"/>
</xsl:for-each-group>
</xsl:stream>
I get an error saying there are two downward selections ($g/x and $g/y)
This is because the variable reference $g is classified as consuming. See
19.8.7.10:
If all the following conditions are satisfied:
* V is a reference to a variable declared in a bind-group attribute of a
containing xsl:for-each-group instruction F
* The path in the construct tree that connects V to the sequence constructor
forming the body of F is such that no child construct is a higher-order operand
of its parent
* The focus-setting container of V is F
then the sweep and posture of V are the sweep and posture of the select
expression of F.
The select expression of xsl:for-each-group is grounded and consuming, so the
variable reference is also considered grounded and consuming.
In fact, if the select expression is grounded, the grouping variable should be
motionless.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 31 January 2014 12:35:27 UTC