- 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