Hi Jeffrey,

Pretty sure the only extension you can make to a complex type with an 
"all" model group in XML Schema 1.0 is adding additional attributes.

Thanks.

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

Jeffrey A Lage <[EMAIL PROTECTED]> wrote on 08/14/2007 
01:54:24 PM:

> Thanks.  So with XML Schema 1.0, is there any way to have type 
> derivation and an unordered (all) set of children elements?
> 
> On Aug 14, 2007, at 1:34 PM, Michael Glavassevich wrote:
> 
> Hi Jeffrey,
> 
> The content model of a complex type derived by extension (see {content 
> type} under the section "Complex Type Definition with complex content 
> Schema Component" [1]) consists of a sequence of the content from the 
base 
> type followed by the effective content [2] from the type you're 
declaring.
> 
> Given the composition rules, you've effectively declared this (which 
isn't 
> valid [3]):
> 
> <xs:complexType name="OutputColumn">
>  <xs:complexContent>
>   <xs:sequence>
>    <xs:all>
>     <xs:element name="name" type="xs:string"/>
>    </xs:all>
>    <xs:all>
>     <xs:element name="tolerance" type="xs:decimal"/>
>    </xs:all>
>   </xs:sequence>
>  </xs:complexContent>
> </xs:complexType>
> 
> and not
> 
> <xs:complexType name="OutputColumn">
>  <xs:complexContent>
>   <xs:all>
>    <xs:element name="name" type="xs:string"/>
>    <xs:element name="tolerance" type="xs:decimal"/>
>   </xs:all>
>  </xs:complexContent>
> </xs:complexType>
> 
> which seems to be what you wanted. You can't use type derivation to 
> achieve this with XML Schema 1.0, though I think XML Schema 1.1 might 
be 
> changing the rules a bit to allow it.
> 
> Thanks.
> 
> [1] http://www.w3.org/TR/xmlschema-1/#declare-type
> [2] http://www.w3.org/TR/xmlschema-1/#key-exg
> [3] http://www.w3.org/TR/xmlschema-1/#cos-all-limited
> 
> Michael Glavassevich
> XML Parser Development
> IBM Toronto Lab
> E-mail: [EMAIL PROTECTED]
> E-mail: [EMAIL PROTECTED]
> 
> Jeffrey A Lage <[EMAIL PROTECTED]> wrote on 08/14/2007 
> 12:03:53 PM:
> 
> All,
> 
> It seems to me that this should be a valid XSD:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <xs:schema xmlns="http://schemas.fundevs.com/1/asgard"; 
>         xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
>         targetNamespace="http://schemas.fundevs.com/1/asgard"; 
>         elementFormDefault="qualified" 
>         attributeFormDefault="unqualified" 
>         id="TestSuite">
> 
>     <xs:complexType name="Column">
>         <xs:all>
>             <xs:element name="name" type="xs:string"/>
>         </xs:all>
>     </xs:complexType>
> 
>     <xs:complexType name="OutputColumn">
>         <xs:complexContent>
>             <xs:extension base="Column">
>                 <xs:all>
>                     <xs:element name="tolerance" type="xs:decimal"/>
>                 </xs:all>
>             </xs:extension>
>         </xs:complexContent>
>     </xs:complexType>
> 
> </xs:schema>
> 
> But I am receiving the following error from the parser:
> 
> cos-all-limited.1.2: An 'all' model group must appear in a particle 
> with {min occurs} = {max occurs} = 1, and that particle must be part
> of a pair which constitutes the {content type} of a complex type 
> definition.
> 
> Can someone explain to me why this is incorrect?
> 
> Jeffrey A. Lage | Fund Development Services                         
> 
> 440 Park Avenue South | 14th Floor | New York | NY | 10016 | email: 
> [EMAIL PROTECTED] | office: 212.920.3527 | mobile: 
> 917.536.1767
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> Jeffrey A. Lage | Fund Development Services                         
>                                                                     
>                                                        
> 440 Park Avenue South | 14th Floor | New York | NY | 10016 | email: 
> [EMAIL PROTECTED] | office: 212.920.3527 | mobile: 
> 917.536.1767

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to