Le choix
L'élément " choice" est à utiliser si un élément peut prendre une valeur parmi plusieurs, ou si, dans un groupe, il est possible de prendre un élément parmi plusieurs. Par exemple :
<xsd:group name="nameTypes">
<xsd:choice>
<xsd:element name="name" type="xsd:string"/>
<xsd:sequence>
<xsd:element name="firstName" type="xsd:string"/>
<xsd:element name="middleName" type="xsd:string" minOccurs="0"/>
<xsd:element name="lastName" type="xsd:string"/>
</xsd:sequence>
</xsd:choice>
</xsd:group>
Cet exemple montre qu'il faut choisir soit un nom (name), soit la séquence (firstName, middleName, lastName). Dans cette liste, middleName est conditionnel car son occurrence minimum peut être égale à 0.