- From: <bugzilla@farnsworth.w3.org>
- Date: Thu, 17 Apr 2008 20:59:40 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5646
Summary: fn:put() is underspecified
Product: XPath / XQuery / XSLT
Version: Candidate Recommendation
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P2
Component: Update Facility
AssignedTo: andrew.eisenberg@us.ibm.com
ReportedBy: mike@saxonica.com
QAContact: public-qt-comments@w3.org
Some gaps in the the specification of fn:put():
(a) it nowhere says whether this is an updating expression or not. Presumably
this means it isn't. But it behaves in many ways like an updating expression; I
would have thought it should be one.
(b) it says "The results of fn:put do not become effective until after
completion of the query", but it doesn't actually say what is probably
intended, which is that the node that is serialized is the post-update node,
rather than the pre-update node.
(c) It's not clear why put() doesn't use the pending update list in the same
way as other updating expressions, and why it's not subject to similar conflict
analysis (for example writing two different nodes to the same URI)
(d) There seem to be no special static typing rules. Since the static type of
put() is always empty-sequence(), it would seem that under static typing it is
always an error.
Received on Thursday, 17 April 2008 21:00:14 UTC