- From: <bugzilla@jessica.w3.org>
- Date: Sun, 03 Aug 2014 14:13:49 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26513
Bug ID: 26513
Summary: [XSLT30] Access to context item within streamed
xsl:for-each-group
Product: XPath / XQuery / XSLT
Version: Working 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:for-each-group select="x" group-by="@y">
<a b="{@b}"/>
<xsl:copy-of select="current-group()"/>
<a b="{@b}"/>
</xsl:for-each-group>
This is streamable according to current rules.
During evaluation of xsl:for-each-group, the context item is the FIRST item in
the group. So both references to @b access the b attribute of the FIRST x
element. Clearly, after processing current-group(), we are no longer positioned
on the first x element so we can only achieve this by remembering details of
the x element (or perhaps by evaluating the post-descent instructions before we
process the group, and remembering the result). So it can't be done without
buffering.
I think we should (somehow) ban inspection access to the context item in the
post-descent phase of a streaming xsl:for-each-group.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Sunday, 3 August 2014 14:13:50 UTC