- From: <bugzilla@jessica.w3.org>
- Date: Fri, 17 Jan 2014 09:02:03 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24317
Bug ID: 24317
Summary: [xslt 3.0] Parallel splitting: the dynamic
multi-coloured widgets problem
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
There is a streaming use case that we currently cannot handle, exemplified by
the following stylesheet:
<xsl:for-each-group select="/*/widget" group-by="colour"
bind-group="g" bind-grouping-key="k">
<xsl:result-document href="{$k}.xml">
<widgets colour="{$k}">
<xsl:sequence select="$g"/>
</widgets>
</xsl:result-document>
</xsl:for-each-group>
It's easy to see that this is in principle capable of executing with bounded
memory (or at worst, memory proportional to the number of colours encountered).
We can handle the case where the set of colours is known statically, by using
xsl:fork, but I don't think we have a solution for the case where the set of
colours is not known in advance.
One solution might simply be to deem xsl:for-each-group/@group-by to be
streamable (grounded) provided that the body of the instruction is an
xsl:result-document instruction.
Or of course, we might decide that this requirement is out of scope.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 17 January 2014 09:02:09 UTC