This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 5282 - UPA and overlapping substitution groups
Summary: UPA and overlapping substitution groups
Status: CLOSED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: PC Windows XP
: P1 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: content models cluster
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2007-11-25 13:24 UTC by Michael Kay
Modified: 2008-03-05 00:09 UTC (History)
0 users

See Also:


Attachments

Description Michael Kay 2007-11-25 13:24:47 UTC
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.)
Comment 1 Noah Mendelsohn 2007-11-26 18:25:17 UTC
> They are both element declaration particles
> and their substitution groups overlap.

I don't disagree in principle, but I see that we have a formal definition of the term "overlap" that appears in non-normative Appendix L.  I think we should either use another term, or else make a suitable normative definition of "overlap", or else explain in some phrase or sentence the condition we intend.

Noah
Comment 2 David Ezell 2008-01-24 18:50:30 UTC
 RESOLUTION: The WG agrees to change the wording in appendix L to address the issues described in bug 5282, which is classified NEEDS DRAFTING.
Comment 3 C. M. Sperberg-McQueen 2008-03-04 23:24:36 UTC
A wording proposal addressing this issue (among others) was adopted by the 
XML Schema WG on 15 February.  (This record should have been updated then,
but something went wrong; mea culpa, probably, and my apologies.)

http://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.2008omnibus3.html
(member-only list)

Since the originator of this issue is a WG member, he is presumed to assent
to this resolution of the issue.  For formal purposes, however, it would be
convenient if he so indicated in the usual way.