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 11:40:00 -0500
Message-ID: <499D8B60.3040204@obj-sys.com>
To: Tobias Koenig <tobias.koenig@trolltech.com>
CC: xmlschema-dev@w3.org
Hi Tobias,

You are right, it wouldn't make sense for the derived type to have empty 
content.  However, I think that the result is that it makes the derived 
type an invalid extension, according to, and I suspect that is 
the purpose.  Interestingly, according to definitive XML Schema 
(Walmsley, p305 in second printing), your extension would not be legal 
under 1.0.  XSV also agrees.

 From what I can tell, the only case where Schema 1.0 would allow you to 
use complexContent when extending a complex type having simpleContent is 
precisely when there are no particles in the extension.  I suspect this 
was not intended.  In fact, in that case, you could just as well extend 
by using simpleContent..  So, it appears to me that Schema 1.1 has 
recognized that Schema 1.0 had this one loophole and they are closing it.


On 2/19/2009 11:07 AM, Tobias Koenig wrote:
> On Thursday 19 February 2009 16:51:13 Kevin Braun wrote:
> Hej,
>> I think you followed it correctly, and if I read Schema 1.1 section 
>> 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.
> Actually IMHO Schema 1.0 is right here and 1.1 wrong. If you have a complex
> type with simple content and derive from it by _extension_, why should the derived
> type have an empty content? Extension always increases the value space, not
> decreases it.
> I guess it is an error in 4.2.1) of http://www.w3.org/TR/xmlschema11-1/#dcl.ctd.ctcc.common
> to point to 4.1 for "empty or simple". 4.1 should only be used for the "empty" case and "simple"
> should be handled separately (e.g. use the content type of the base type).
> Ciao,
> Tobias
Received on Thursday, 19 February 2009 16:40:41 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:56:15 UTC