This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 25335 - [xslt 3.0] Streamed merging
Summary: [xslt 3.0] Streamed merging
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Last Call drafts
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
: 24343 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-04-13 08:56 UTC by Michael Kay
Modified: 2014-05-15 14:00 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Kay 2014-04-13 08:56:54 UTC
There are two specific problems with section 15.4 on streamable merging:

(a) We say the xsl:merge-source/@select attribute must be striding, but in several of the examples it is grounded

(b) We place no constraints on the use of the current-merge-group() function within the xsl:merge-action (or within the merge keys).

I think these problems are not superficial. The concepts of sweep and posture have been developed with the idea in mind that there is only one streamable document and that it is the document containing the context item. Generalizing this to multiple input documents is non-trivial.

I currently feel that the right answer is to insist that xsl:merge-source/@select is grounded (e.g. by using copy-of() or snapshot()), in which case we do not need to place any constraints on xsl:merge-action or the use of current-merge-group().
Comment 1 Michael Kay 2014-04-16 08:28:16 UTC
*** Bug 24343 has been marked as a duplicate of this bug. ***
Comment 2 Michael Kay 2014-04-24 10:37:28 UTC
The working group discussed this on 2014-04-17 and agreed with this direction. When streaming is requested and xsl:merge-source/@for-each-stream is used, the nodes selected using the @select attribute will be subjected to an implicit call on snapshot().