问题
What is the difference between XSD choice and enumeration?
回答1:
They are completely unrelated.
Choice indicates that within the content model of an element, you can use one of several child elements: for example within a document you have a choice of chapter or appendix as child elements.
Enumeration is used to restrict the values that can appear in a text or attribute node, for example to say that the value of a color attribute must be red, green, or blue.
回答2:
XSD choice allows you to choose between zero or one elements/attributes. These can be of any type.
Enumeration are used in XSD simpleTypes to either restrict or extend one particular type to a set of values.
回答3:
Gathering from the previous answers, and putting them together in clear, concise way:
The differences are two-fold:
choice
is for element tag, andenumeration
is for a node's text or attribute.choice
allows for zero instances, whileenumeration
requires one.
来源:https://stackoverflow.com/questions/5358132/what-is-the-difference-between-xsd-choice-and-enumeration