- 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