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]