disallowed substitutions

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 UTC