Purpose |
This element (the "choice" particle) expresses a choice in complex type definitions of elements. It allows one of the particles contained in its scope to be
present in instances of the containing element. The number of times that one
particle may be chosen from the list is bounded by the values of the
|
Parent element | xs:choice ,
xs:complexType ,
xs:extension ,
xs:group ,
xs:sequence |
Child elements | xs:any , xs:choice ,
xs:element ,
xs:group ,
xs:sequence
|
Attributes | minOccurs ,
maxOccurs |
Name | Type | Description |
---|---|---|
minOccurs |
xs:nonNegativeInteger |
Together with the
maxOccurs attribute described below, this
attribute expresses multiplicity in TSD (and
XML
Schema) in choice elements within element definitions.
The value of the minOccurs attribute in an
xs:choice declaration determines the minimum number of occurrences
of xs:choice . The value of the
minOccurs attribute must be a non-negative
integer. The default value of minOccurs is
1.
|
maxOccurs |
xs:nonNegativeInteger or
"unbounded"
|
Together with the
minOccurs attribute described above, this
attribute expresses multiplicity in TSD (and
XML
Schema) in choice elements within element definitions. The value of
a maxOccurs attribute in an
xs:choice declaration determines the maximum number of occurrences
of xs:choice . The value of the
maxOccurs attribute must be a non-negative
integer or "unbounded". The default value of
maxOccurs is 1.
|
The example below defines an element
partner
which must contain either a
customer
element or a
supplier
element or an
employee
element.
<xs:element name="partner"> <xs:complexType> <xs:choice> <xs:element name="customer" type="t_customer"/> <xs:element name="supplier" type="t_supplier"/> <xs:element name="employee" type="t_employee"/> </xs:choice> </xs:complexType> </xs:element>
The example below defines an element named
partner
which may contain either a
customer
element or a
supplier
element or an
employee
element.
<xs:element name="partner"> <xs:complexType> <xs:choice minOccurs="0"> <xs:element name="customer" type="t_customer"/> <xs:element name="supplier" type="t_supplier"/> <xs:element name="employee" type="t_employee"/> </xs:choice> </xs:complexType> </xs:element>