- From: <bugzilla@jessica.w3.org>
- Date: Thu, 22 Sep 2016 08:04:06 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29857 Bug ID: 29857 Summary: [FO31] Uniqueness scope for generate-id() Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: Functions and Operators 3.1 Assignee: mike@saxonica.com Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org Target Milestone: --- We say under generate-id(): An implementation is under no obligation to generate the same identifiers each time a document is transformed or queried. This is a very informal way of saying that the uniqueness rule is scoped to a single execution scope. It casually implies that there is a concept of node identity ("a document") that transcends execution scope, which formally speaking is not the case (although XQuery Update might suggest otherwise). And it raises questions about situations where a transformation or query can involve multiple execution scopes, for example when fn:transform() is called, or when XSLT static expressions are used. I propose the following slightly more formal statement. After "In other cases, the function returns a string that uniquely identifies a given node." add "More formally, it is guaranteed that within a single *execution scope*, codepoint-equal(generate-id($N), generate-id($M)) is true if and only if ($M is $N) is true." and move the sentence "An implementation is under no obligation to generate the same identifiers each time a document is transformed or queried." to the (non-normative) notes, since its meaning depends on informal notions of identity. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Thursday, 22 September 2016 08:04:35 UTC