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 4001 - 3.3.1 overconstraining exclusions wording?
Summary: 3.3.1 overconstraining exclusions wording?
Status: NEW
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.0 only
Hardware: All Windows 3.1
: P2 normal
Target Milestone: ---
Assignee: David Ezell
QA Contact: XML Schema comments list
URL:
Whiteboard:
Keywords:
Depends on: 3888
Blocks:
  Show dependency treegraph
 
Reported: 2006-11-22 05:26 UTC by Sandy Gao
Modified: 2012-12-04 00:54 UTC (History)
0 users

See Also:


Attachments

Description Sandy Gao 2006-11-22 05:26:24 UTC
Regarding _XML_Schema_Part_1:_Structures_Second_Edition_ at
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/:

In section 3.3.1, the specification says:

   The explicit values of {substitution group exclusions} rule out
   element declarations having types which are extensions or
   restrictions respectively of {type definition}.  If both values are
   specified, then the declaration may not be nominated as the
   {substitution group affiliation} of any other declaration.

Is that last sentence correct?

Considering just the first quoted sentence, a substitution group
exclusions property that contains both 'restriction' and 'extension'
excludes any element declarations of a datatype that is an extension
or restriction of the original datatype, but it leaves open the
possibility of an element declaration whose datatype is the _same_
datatype.

The last sentence rules out the possibility of substituting an element
declaration having the same datatype.  It also seems to mean that there
is no way to exclude elements of extended and restricted types but
still allow different elements of the same type (e.g., elements
validated by element declarations with different names but the same
datatype).

Was that last sentence meant as a further restriction that was intended
by the designers?  (Or was is meant just as a summary of the result of
the combination of the two things addressed by the first sentence?)

If the last sentences does not reflect an intended restriction, it
should be removed or corrected.

(If it _does_ reflect an intended restriction, its wording should be
adjusted to make that clear, perhaps by starting:

   In addition, if both values are specified ...


Additionally, what happens if 'restriction' and 'extension' are
specified on different element declarations in a chain?  Are other
parts of the specification worded such that substitution of
same-datatype elements is excluded consistently (regardless of
whether 'restriction' and 'extension' are specified on different
element declarations in a chain or on the same element declaration)?)