- From: <bugzilla@jessica.w3.org>
- Date: Tue, 21 Jan 2014 11:57:30 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24343 Bug ID: 24343 Summary: xsl:merge cannot be streamable because of semantics doc() etc Product: XPath / XQuery / XSLT Version: Last Call drafts Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Assignee: mike@saxonica.com Reporter: abel.braaksma@xs4all.nl QA Contact: public-qt-comments@w3.org This bug was first raised on the xsl-wg mailing list [1], relevant text copied here in its entirety: We currently define xsl:merge-source with @for-each to have a doc/document/collection function and @streamable="yes" to indicate streaming processing of the sources. However, this conflicts with the functions, which are defined as deterministic, whereas streamed processing is deliberately not deterministic. That means, in practice, that streamed processing for xsl:merge can at most be a compiler optimization, while at the same time it is required to retain determinism, i.e., multiple invocations of such xsl:merge instruction must result in the same results, and even invocations of doc etc with the same arguments elsewhere must result in the same document node. I propose to solve this the same way we did when introducing xsl:stream. Instead of a function call, xsl:merge should have a src attribute that is an AVT which returns a sequence of URIs. In line with this, we could also add a collection-src attribute. This change would bring it more in line with other streamability features, plus it makes the claim that xsl:merge can do streaming mean something that can be enforced by the guaranteed streamability rules. [1] https://lists.w3.org/Archives/Member/w3c-xsl-wg/2014Jan/0012.html -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Tuesday, 21 January 2014 11:57:32 UTC