Differences in derivation by extension of complex types between Schema 1.0 and 1.1

Hej,

let's assume we have the following schema

---------------------------------------------------------------------------------
<xs:schema xmlns="http://cscB2BCIDXSchemas.Schema1" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://cscB2BCIDXSchemas.Schema1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Root" type="Type1" />
  <xs:element name="Record" type="Type2" />

  <xs:complexType name="Type1">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Field1" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>

  <xs:complexType name="Type2">
    <xs:complexContent>
      <xs:extension base="Type1">
        <xs:attribute name="Field2" type="xs:string" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

</xs:schema>
---------------------------------------------------------------------------------

Type1 would have a content type with variety 'Simple', as it contains the <xs:simpleContent>
tag. According to Schema 1.0 the content type of Type2 is constructed by rule 3 of the {content type} section
in http://www.w3.org/TR/xmlschema-1/#declare-type.
Therefor the content type of Type2 will be the same as the content type of Type1 and both
will have the variety of 'Simple'

In Schema 1.1, the content type of Type1 is 'Simple' as well, but when constructing
the content type of Type2, it seems the matching rule is 4.2 and 4.2.1 of the {content type} section in
http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.ctcc which points back to rule 4.1, so Type2 ends up
with an 'Empty' content type which is wrong IMHO.

So is that different behaviour in Schema 1.1 intended? Or did I follow the wrong path when constructing
the types for the above schema?

Ciao,
Tobias

Received on Thursday, 19 February 2009 11:25:58 UTC