Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: emptiable content in particle inheritance

From: "G. Ken Holman" <gkholman@----------------.--->
To: xmlschema-dev@--.---
Date: 2/2/2009 1:13:00 AM
At 2009-02-02 11:33 +0100, Tobias Koenig wrote:
>there are the two schemas
>
>1)
><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <xsd:element name="doc" type="foo"/>
>     <xsd:complexType name="foo">
>       <xsd:complexContent>
>         <xsd:restriction base="bar">
>           <xsd:choice>
>             <xsd:element name="e1" minOccurs="0" maxOccurs="0"/>
>             <xsd:element name="e2"/>
>           </xsd:choice>
>         </xsd:restriction>
>       </xsd:complexContent>
>     </xsd:complexType>
>     <xsd:complexType name="bar">
>       <xsd:choice>
>         <xsd:element name="e1"/>
>         <xsd:element name="e2"/>
>       </xsd:choice>
>    </xsd:complexType>
></xsd:schema>
>
>2)
><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
>  <xs:complexType name="base">
>    <xs:sequence>
>     <xs:element name="e1" type="xs:string" />
>    </xs:sequence>
>  </xs:complexType>
>  <xs:complexType name="derived">
>         <xs:complexContent>
>         <xs:restriction base="base">
>             <xs:choice minOccurs="0">
>                 <xs:element name="e1" type="xs:string" />
>             </xs:choice>
>         </xs:restriction>
>         </xs:complexContent>
>  </xs:complexType>
></xs:schema>
>
>In both cases a complex type with emptiable particle derives by restriction
>from a complex type with non-emptiable particle. However the first schema
>is valid according to xml schema test suite (and saxon validator) but the
>second is not. So what is the real issue in the second schema? That a choice
>particle is inherited from an sequence particle?

No, as I see it in schema (1) there is always a path through "foo" 
that conforms to "bar" ... there is no way through "foo" that does 
not conform to "bar".  This is because the only way through "foo" is 
with <e2> and <e2> is one of the ways through "bar".

In schema (2), however, there is a path through "derived" that does 
not conform to "base", that being no elements where "base" does not 
allow no elements.  Hence the processor cannot allow "derived" to be 
a restriction of "base" because it allows something that is not 
allowed in "base".

I hope this helps.

. . . . . . . . . . . . . Ken

--
Upcoming hands-on XSLT, UBL & code list hands-on training classes:
Brussels, BE 2009-03;  Prague, CZ 2009-03, http://www.xmlprague.cz
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@C...
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/x/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/x/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


From mike@s... Mon Feb 02 18:01:58 2009
Received: from maggie.w3.org ([193.51.208.68])
	by frink.w3.org with esmtp (Exim 4


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent