- From: <gvt.junk@free.fr>
- Date: Tue, 21 Apr 2009 15:25:41 +0200
- To: xmlschema-dev@w3.org
Hi Experts, I was facing a problem to write a XML schema to define a <LIST> element that obeys multiple rules (see below). I finally reached a fully functional solution, but would like to know of an alternate XML schema producing "better-looking" documents (with reduced nesting levels). Here are the rules the schema shall enforce for the <LIST> element: 1. The list allows a limited set of items; (say: <ITEM_A>, <ITEM_B> and <ITEM_C>) 2. The list does not allow duplicate items (same element name); (items <ITEM_A>, <ITEM_B> and <ITEM_C> can only occur 0 or 1 time in the list) 3. Order of items in the list does not matter; 4. The list must contain at least 1 item (among: <ITEM_A>, <ITEM_B> and <ITEM_C>); 5. The content of item elements is typed and "data type" is psecific to each item; (e.g.: <ITEM_A> contains integer data, while <ITEM_B> contains string and <ITEM_C> a complex type) I succeed in writing an XML schema that enforce all these rules. A compliant document look like this: <LIST> <ITEM> <ITEM_B>100</ITEM_B> </ITEM> <ITEM> <ITEM_A>0</ITEM_A> </ITEM> <ITEM> <ITEM_C>aa-123</ITEM_C> </ITEM> </LIST> My question: Is there any chance to write an alternate XML schema that enforce all these rules, but produce "better-looking" compliant document that would look like the following one, with reduced nesting levels? Really, I'm not convinced it is possible with XML schema... <LIST> <ITEM_B>100</ITEM_B> <ITEM_A>0</ITEM_A> <ITEM_C>aa-123</ITEM_C> </LIST> I can provide the XML schema I produced to anyone interrested in this chalenge... Just let me know: gvt {dOt} junk {a}{t} fREe {DOt} fr Thanks and regards, Grégoire Vatry
Received on Thursday, 23 April 2009 05:35:34 UTC