What is the difference between <all> <sequence> <choice> and <group> in XML Schema?
Asked
Active
Viewed 7,802 times
11
kjhughes
- 98,039
- 18
- 159
- 218
huangweiwei
- 151
- 1
- 9
-
1@kjhughes thanks.You have solved my question. – huangweiwei Apr 11 '17 at 13:09
1 Answers
21
When to use xsd:all, xsd:sequence, xsd:choice, or xsd:group:
- Use
xsd:allwhen all child elements must be present, independent of order. - Use
xsd:sequencewhen child elements must be present per their occurrence constraints and order does matters. - Use
xsd:choicewhen one of the child element must be present. - Use
xsd:groupas a way to wrap any of the above in order to name and reuse in multiple locations within an XSD.
Note that occurrence constraints can appear on xsd:all, xsd:sequence, or xsd:choice in addition to the child elements to achieve various cardinality effects.
kjhughes
- 98,039
- 18
- 159
- 218