W3C home > Mailing lists > Public > www-xml-schema-comments@w3.org > January to March 2008

[Bug 5504] Annotations can vary in an extension? Why?

From: <bugzilla@wiggum.w3.org>
Date: Tue, 26 Feb 2008 23:52:13 +0000
To: www-xml-schema-comments@w3.org
Message-Id: <E1JU9an-0003g9-8i@wiggum.w3.org>


           Summary: Annotations can vary in an extension?  Why?
           Product: XML Schema
           Version: 1.0/1.1 both
          Platform: Macintosh
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Structures: XSD Part 1
        AssignedTo: cmsmcq@w3.org
        ReportedBy: cmsmcq@w3.org
         QAContact: www-xml-schema-comments@w3.org

Both in XSD 1.0 and in XSD 1.1, the schema component constraint
Particle Valid (Extension), which is used to check that born-binary
extensions are OK (extensions made from schema documents are 
guaranteed OK by construction), contains the rule

  2 E's {min occurs}={max occurs}=1 and its {term} is a 
    sequence group whose {particles}' first member is a 
    particle all of whose properties, recursively, are identical 
    to those of B, with the exception of {annotation} properties.

Leaving aside the problematic appeal to an undefined identity
of property values, the final exception seems to say that for
born-binary schemas, the annotations on elements in the base
type can change in an extension.

To be concrete, consider the content model (A, B), with annotations
on the A and the B saying, respectively, color=red and color=green.
I'll write this 

  (A [color=red], B [color=green])

If I'm reading the spec correctly, the following content model would
be a legal extension of this type:

  (A [color=green], B [color=red], C [color=amber])

This seems to violate the principle that all schemas should be
expressible using schema documents; it also seems in and of itself
to have a high astonishment factor.

Is the rule (a) a typo in 1.0 that has been preserved in 1.1?
(b) a design error?  (c) a correct design decision whose rationale
is not obvious to the careless and impatient reader (such as me)?

If (a), then I believe the error should be corrected both in 1.0 
and in 1.1.  If (b), then it should be corrected in 1.1, but 
probably needs to be left alone in 1.0.  If (c), then I believe 
the design rationale should be given in a note (taking my 
bewilderment as demonstrating that some readers, at least, will
find the rule bewildering).
Received on Tuesday, 26 February 2008 23:52:20 UTC

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