- From: <bugzilla@wiggum.w3.org>
- Date: Sun, 25 Nov 2007 13:24:48 +0000
- To: www-xml-schema-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5282 Summary: UPA and overlapping substitution groups Product: XML Schema Version: 1.1 only Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Structures: XSD Part 1 AssignedTo: cmsmcq@w3.org ReportedBy: mike@saxonica.com QAContact: www-xml-schema-comments@w3.org In Appendix L (Analysis of the UPA constraint) I think the condition They are both element declaration particles one of whose {name} and {target namespace} are the same as those of an element declaration in the other's ·substitution group·. needs to be generalized to allow for the fact that two distinct element declarations can now have overlapping substitution groups without either element being in the substitution group of the other. It needs to be something like: They are both element declaration particles and their substitution groups overlap. Following this up, I notice that the definition of substitution group in 3.3 is: [Definition:] Every element declaration (call this HEAD) in the {element declarations} of a schema defines a substitution group, a subset of those {element declarations}. An element declaration is in the substitution group of HEAD if and only if it is ·substitutable· for HEAD. which relies on the definition of "substitutable". But the definition of "substitutable" is parameterized by a blocking constraint (a subset of {substitution, extension, restriction}. So we shouldn't be invoking "substitutable" without saying what blocking constraint is to be used. There seem to be several other places that use "substitutable" without supply such a parameter. (Also an editorial quibble: the phrase "one of whose {name} and {target namespace}" is rather murky. It's easy to read it as saying that either the {name}s must be equal, or the {target namespace}s must be equal.)
Received on Sunday, 25 November 2007 13:24:53 UTC