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

XML Schema Pt 1. Ed. 2 section 3.4.1 - ambiguous/erroneous specification

From: Daniel Barclay <daniel@fgm.com>
Date: Wed, 18 Oct 2006 13:28:25 -0400
Message-ID: <45366439.5030609@fgm.com>
To: www-xml-schema-comments@w3.org

Regarding _XML_Schema_Part_1:_Structures_Second_Edition at

In section 3.4.1, the spec says:

   {prohibited substitutions} determine whether an element declaration
   appearing in a ·content model· is prevented from additionally
   ·validating· element items with an xsi:type (§2.6.1) attribute that
   identifies a complex type definition derived by extension or restriction
   from this definition ...

The wording doesn't specify anything about the relationship between the
element declaration and the given type definition ("'this' definition").

It appears that the intent was to refer to any element declaration whose
type definition is the given definition.  If that's the case, the wording
should say that more explicitly.

(If the intent is something else, then obviously the wording still needs
to be clarified.)

Section 3.4.1 continues:

   ... or element items in a substitution group whose type definition
   is similarly derived.

That wording is also erroneous and/or ambiguous:

1. Element information items aren't actually in (aren't members of)
    substitution groups; only element _declarations_ are.

    Therefore, it seems that the intent was to refer to element information
    items (potentially) validated against element declarations (potentially)
    in substitution groups.

    Whatever the intent, the wording should be clarified (so a detailed
    analysis since as this isn't required to extract the intent).

2. Does "whose" refer:
    - to the substitution group's head or
    - to other element declarations that are (potential) members of the
      substitution group?

    That is, was the intent to talk about:
    - the derivation _to_ the type definition of the element declaration
      that is the head of the substitution group (from the given type
      definition) or
    - the derivation _from_ the given type definition used as the
      substitution group's head's type to member declarations' type

Daniel Barclay
Received on Wednesday, 18 October 2006 17:28:47 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:50:05 UTC