W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > October to December 2006

L Schema Pt 1. Ed. 2 section 3.3.1 - overconstraining wording?

From: Daniel Barclay <daniel@fgm.com>
Date: Mon, 09 Oct 2006 14:18:58 -0400
Message-ID: <452A9292.9040300@fgm.com>
To: www-xml-schema-comments@w3.org

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 a 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)?)


Daniel Barclay


P.S.  The use of "respectively" in:

     The explicit values of {substitution group exclusions} rule out
     element declarations having types which are extensions or
     restrictions respectively of {type definition}.

appears to be broken.

The sentence does not contain (the words identifying) the pair of
things that "extensions" and "restrictions" correspond to
respectively (i.e., according to their order in the sentence).




Daniel Barclay
Received on Monday, 9 October 2006 18:19:39 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 6 December 2009 18:13:11 GMT