W3C home > Mailing lists > Public > xmlschema-dev@w3.org > July 2006

disallowed substitutions

From: Zafar Abbas <Zafar.Abbas@microsoft.com>
Date: Wed, 26 Jul 2006 10:31:14 -0700
Message-ID: <563BD3496D37BB4B9F4E8F896A58F2B30921600C@RED-MSG-50.redmond.corp.microsoft.com>
To: <xmlschema-dev@w3.org>
Cc: <Eduardo.Gutentag@Sun.COM>

I was going through the recent submission in to the Schema test collection by SUN and found this issue worth posting on this forum:

Issue: 
There are two global elements, one in the substitution group of the other. The type of the Head element has block=restriction. The substitution group member has a type derived by restriction from the Head element's type. 

What is the value of {disallowed substitutions} in this case for the Head element? By reading the spec [1], it seems that it should be EMPTY (and Member1 should be allowed to substitute) since [disallowed substitutions} are only determined by -block- attributes on the element declaration and not its type.


  <xsd:element name="Head" type="Type"/>
  <xsd:element name="Member1" type="derivedFromType" substitutionGroup="Head"/>

  <xsd:complexType name="Type" block="restriction"/>

  <xsd:complexType name="derivedFromType">
      <xsd:complexContent>
          <xsd:restriction base="Type"/>
      </xsd:complexContent>
  </xsd:complexType>


 
[1] http://www.w3.org/TR/2004/PER-xmlschema-1-20040318/structures-with-errata..html#Element_Declaration_details


Thanks,
Zafar Abbas

 
Received on Wednesday, 26 July 2006 17:33:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:55 GMT