Name
xs:choice(outside a group) — Compositor to define group of mutually exclusive elements or compositors.
Synopsis
<xs:choice id = xs:ID maxOccurs = ( xs:nonNegativeInteger | “unbounded” ) : “1” minOccurs = xs:nonNegativeInteger : “1” {any attributes with non-schema namespace} > Content: (xs:annotation?, (xs:element | xs:group | xs:choice | xs:sequence | xs:any) )*) </xs:choice>
May be included in: xs:choice (outside a group), xs:choice (within a group), xs:complexType (local definition), xs:complexType (global definition), xs:extension (complex content), xs:restriction (complex content), xs:sequence (within a group), xs:sequence (outside a group)
Description
xs:choice
is a compositor that defines a group of
mutually exclusive particles. Only one can be found in the instance
document per occurrence of the xs:choice
compositor. The number of occurrences of the compositor itself is
controlled by its minOccurs
and
maxOccurs
attributes, while the number of
occurrences of each particle within a single occurrence of
xs:choice
can be controlled by the
minOccurs
and maxOccurs
attributes of the particles.
In addition to situations where simple choices are expressed (element
“a” or
“b” can be accepted here),
xs:choice
is often used to work around the
limitations of xs:all
and to define content models
where an unlimited number of elements can be found in any order (see
the example).
When the particle used in a xs:choice
compositor is an element, a similar effect may be achieved using substitution ...
Get XML Schema now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.