- From: <bugzilla@jessica.w3.org>
- Date: Thu, 18 Feb 2016 23:51:14 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29482
Bug ID: 29482
Summary: [xslt30ts] si-group-031
Product: XPath / XQuery / XSLT
Version: Candidate Recommendation
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: XSLT 3.0 Test Suite
Assignee: abel.online@xs4all.nl
Reporter: mike@saxonica.com
QA Contact: public-qt-comments@w3.org
Target Milestone: ---
Raising this as a test bug though it could migrate to a spec bug.
si-group-031, which originates from a Saxon bug report by Martin Honnen, does
this within a streamable template:
<xsl:for-each-group select="product"
group-adjacent="(position() - 1) idiv $block-size">
<xsl:result-document href="product{current-grouping-key()}.xml">
<xsl:copy select="$root">
<xsl:copy-of select="current-group()"/>
</xsl:copy>
</xsl:result-document>
</xsl:for-each-group>
Saxon assesses this as non-streamable, and I think the analysis can be
justified as follows:
19.8.9.4 says current-group() is not streamable if the path in the construct
tree that connects it to the sequence constructor forming the body of the
for-each-group instruction is such that some child construct is a higher-order
operand of its parent
But the sequence constructor within xsl:copy[@select] is a higher-order operand
of the xsl:copy instruction, because the context item for evaluation of O is
different from the context item for evaluation of C.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 18 February 2016 23:51:16 UTC