- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 21 Nov 2005 14:54:29 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2543 Summary: Unique constraint misinterpretation. Product: XML Schema Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Structures: XSD Part 1 AssignedTo: ht@w3.org ReportedBy: etishkin@mackenziefinancial.com QAContact: www-xml-schema-comments@w3.org Hi, Proposed change for the unique constraint definition is: Change paragraph 3.11.4 by adding a new clause 4.1.1 to make it clear that not all fields must be present. 3.11.4 Identity-constraint Definition Validation Rules ... 4.1.1 The ·target node set· is a subset of the ·qualified node set·, that is, every member of the ·target node set· is also a member of the ·qualified node set· however not every member of ·taget node set· is a member of ·qualified node set·. ... Why this is important? Xerces parser has a bug 18405, which has not been resolved since 2003. The reason for not fixing is : " ... I (and some others I've asked) think that the spec seems open to interpretation here; so I'm marking this bug invalid for now. I'd encourage you to pose a question to the Schema working group via their comments list; if you get a response that demonstrates that your reading is correct, please reopen this bug with the appropriate text and I'll try and fix it when I get a chance." The below is the comment from Xerces parser BUG 18405 report: ================================================ "3 For each node in the ·target node set· all of the {fields}, with that node as the context node, evaluate to either an empty node-set or a node-set with exactly one member, which must have a simple type." The target node set is the set of nodes on which the selector is matched. Note that this condition must hold for *any* identity constraint; only in bullet 4 of the tableau are the differences between key and unique described. Therefore, it seems clear that, if a selector matches, then either all of the fields must match or none of them must match; even for xsd:unique, you can't have some fields matching. ========================================================= Thanks, Eugene
Received on Monday, 21 November 2005 14:54:34 UTC