OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Providing default elements in XMLSchema differentiatedwith

[ Lists Home | Date Index | Thread Index ]

Rick Jelliffe scripsit:

> You cannot do this AFAIK with W3C XML Schemas or DTDs.  You probably
> can do it with the Schema languages RELAX NG and Examplotron.

Yes, you can do it with RELAX NG provided you are willing to insist
that the Liquid elements come in some fixed order such as water,
then milk, then everything else.  You cannot allow the elements
to appear in any order.

Here is such a schema, in non-XML syntax:

datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes";

qty = element qty {xsd:integer}

start = element FoodItems {
   element Liquid {attribute name {"water"}, qty},
   element Liquid {attribute name {"milk"}, qty},
   element Liquid {attribute name {xsd:string - ("water" | "milk")}, qty}*

John Cowan           http://www.ccil.org/~cowan              cowan@ccil.org
Please leave your values        |       Check your assumptions.  In fact,
   at the front desk.           |          check your assumptions at the door.
     --sign in Paris hotel      |            --Miles Vorkosigan


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS