[
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
|