- From: Sandy Gao <sandygao@ca.ibm.com>
- Date: Fri, 4 Mar 2005 10:46:03 -0500
- To: www-xml-schema-comments@w3.org
- Message-ID: <OF34A5B4AC.B8D24BD3-ON85256FBA.00565927-85256FBA.00569563@ca.ibm.com>
Forwarding it since it didn't reach the comments list.
Steve Hanson/UK/IBM@IBMGB
03/04/2005 05:49 AM
To
www-xml-schema-comments@w3.org
cc
Sandy Gao/Toronto/IBM
Subject
Submission for next revision of XML Schema
In addition to <sequence>, <choice> and <all> I would like to propose the
following composition.
<unorderedSet>.
This is a similar to <all> but less restrictive. We have found this to be
useful when modelling real-world messages.
Rules:
- You can define only local elements or element references as content, so
no local groups or group references
- Elements can repeat, but can not be duplicated.
- Child elements in the instance document can appear in any order but
repeats must all be together.
- An unorderedSet can occur within a <sequence> or <choice>
Example valid schema:
<xsd:complexType name="type1">
<xsd:sequence>
<xsd:unorderedSet>
<xsd:element name="A"/>
<xsd:element name="B" maxOccurs="4"/>
<xsd:element name="C"/>
</xsd:unorderedSet>
</xsd:sequence>
</xsd:complexType>
Example valid instance documents:
A,B,C
B,C,A
A,C,B
A,B,B,B,B,C
B,B,A,C
Example invalid instance documents:
A,B,C,B <--- repeats
not together
Example invalid schema:
<xsd:complexType name="type2">
<xsd:unorderedSet>
<xsd:element name="A"/>
<xsd:element name="B"/>
<xsd:element name="C"/>
<xsd:element name="B"/> <---- duplicate
</xsd:unorderedSet>
</xsd:complexType>
<xsd:complexType name="type2">
<xsd:unorderedSet>
<xsd:element name="A"/>
<xsd:element name="B"/>
<xsd:element name="C"/>
<xsd:sequence> <---- not
element content
<xsd:element name="Z"/>
</xsd:sequence>
</xsd:unorderedSet>
</xsd:complexType>
Steve Hanson
WebSphere Business Integration Brokers,
IBM Hursley, England
Internet: smh@uk.ibm.com
Phone (+44)/(0) 1962-815848
Received on Friday, 4 March 2005 15:46:37 UTC