W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2012

[Bug 17312] [QT3] alternate result for K-DocumentURIFunc-2a

From: <bugzilla@jessica.w3.org>
Date: Thu, 27 Sep 2012 22:42:57 +0000
Message-Id: <E1THMnJ-0006u4-Vk@jessica.w3.org>
To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17312

--- Comment #3 from Michael Kay <mike@saxonica.com> 2012-09-27 22:42:57 UTC ---
You're saying that this always holds:

fn:doc(fn:document-uri($D)) is $D

I'm wondering how this relates to:

Such functions (as fn:doc and fn:collection) are guaranteed to be
·deterministic· with the exception that an implementation is allowed to make
them non-deterministic as a user option.

If doc() is non-deterministic, does the guarantee still hold? I think not.

And I'm wondering how it relates to XSLT streaming. I think the answer is that
in general, with streaming, our intent is that you can't ask the question
whether two streamed nodes are the same node. But actually, I can't see that
the streamability rules actually prevent you using the expression

fn:doc(fn:document-uri(.)) is .

In this expression the syntactic context of both occurrences of "." is an
"inspection context" and therefore the expression is motionless, which means it
is allowed in a streaming context. Perhaps we can fix this in the streamability
rules. But I suspect that we're going to have to say that in a streaming
environment, some of the determinism rules don't apply.

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Thursday, 27 September 2012 22:42:59 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:45:49 UTC