[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML Schemas: <all> + extension = ?
If I interpret the spec correctly, there is another problem with implementing your example. You include: <element name="cost" type="decimal" maxOccurs="unbounded"/> within the <all> group, which is not allowed by the spec. Each member must be [0..1] cardinality. I'm hoping that this restriction can be eliminated in the next revision of the spec, because it severely restricts where <all> may be used. On the other hand, allowing unbounded member elements of unordered groups makes the validation more difficult. Dave ----- Original Message ----- From: Roger L. Costello <costello@m...> To: <xml-dev@x...> Cc: <costello@m...> Sent: Friday, July 07, 2000 5:34 AM Subject: XML Schemas: <all> + extension = ? Hi Folks, I am wishing to create a complexType which extends a base type. I would like for the resulting set of elements to be unordered (using <all>). Here's an example to demonstrate what I mean. Suppose that I have a base type called appliance, and the elements in this base type are unordered: <complexType name="appliance"> <all> <element name="description" type="string" maxOccurs="1"/> <element name="warranty" type="string" maxOccurs="1"/> </all> </complexType> Now I would like to create another type, juiceAppliance, which extends appliance. Further, I would like for the resulting set of elements to be unordered. Here was my first attempt at doing this: <complexType name="juiceAppliance" base="j:appliance" derivedBy="extension"> <all> <element name="name" type="string" maxOccurs="1"/> <element name="image" type="string" maxOccurs="1"/> <element name="weight" type="integer" maxOccurs="1"/> <element name="cost" type="decimal" maxOccurs="unbounded"/> <element name="retailer" type="uriReference" maxOccurs="1"/> </all> </complexType> I realize that this does not give me what I desire. Using curly braces to denote sets, and parenthesis to denote lists, the above produces: ({description, warranty}, {name, image, weight, cost, retailer}) which is not what I want. My desire is that after doing the extension I have: {description, warranty, name, image, weight, cost, retailer} i.e., one big set, where description and warranty come from the base type and the rest come from juiceAppliance. Any suggestions on how to do this? Thanks! /Roger *************************************************************************** This is xml-dev, the mailing list for XML developers. To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev List archives are available at http://xml.org/archives/xml-dev/ *************************************************************************** *************************************************************************** This is xml-dev, the mailing list for XML developers. To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev List archives are available at http://xml.org/archives/xml-dev/ ***************************************************************************
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|