W3C home > Mailing lists > Public > xmlschema-dev@w3.org > February 2009

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

From: Kevin Braun <kbraun@obj-sys.com>
Date: Thu, 19 Feb 2009 10:51:13 -0500
Message-ID: <499D7FF1.3040309@obj-sys.com>
To: Tobias Koenig <tobias.koenig@trolltech.com>
CC: xmlschema-dev@w3.org
I think you followed it correctly, and if I read Schema 1.1 section 
3.4.6.2 Derivation Valid (Extension) correctly, Type2 would not be a 
legal extension  (http://www.w3.org/TR/xmlschema11-1/#coss-ct).

Also, this discussion relates: 
http://lists.w3.org/Archives/Public/xmlschema-dev/2006Feb/0001.html

I'm thinking Schema 1.1 is tightening up something that was overlooked 
in 1.0.

Kevin



On 2/19/2009 6:25 AM, Tobias Koenig wrote:
> 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 15:52:00 GMT

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