L'élément choice propose une structure de choix entre plusieurs éléments possible.
<xsd:choice
id = ID
maxOccurs = (nonNegativeInteger | unbounded) : 1
minOccurs = nonNegativeInteger : 1
{tout attribut ayant un espace de noms
différent de celui du schéma...}>
Contenu : (annotation?, (element | group | choice | séquence | any)*)
</xsd:choice> |
L'élément choice possède plusieurs attributs destinés à définir le connecteur de choix.
| Attributs | Description |
|---|---|
| id | précise un identificateur unique pour l'élément. |
| maxOccurs | précise le nombre d'occurrences maximum de l'élément. Par défaut, ce nombre est égal à 1. |
| minOccurs | précise le nombre d'occurrences minimum de l'élément. Par défaut, ce nombre est égal à 1. |
L'élément choice ne peut être inclus que dans les éléments suivants :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?>
<element_racine
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="c:\schema.xsd">
<element_enfant id="02">
<element_choix_1>10</element_choix_1>
</element_enfant>
<element_enfant id="01">
<element_choix_2>10</element_choix_2>
</element_enfant>
</element_racine>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:element name="element_choix_1" type="xsd:integer"/>
<xsd:element name="element_choix_2" type="xsd:integer"/>
<xsd:complexType name="element_enfantType">
<xsd:choice>
<xsd:element ref="element_choix_1"/>
<xsd:element ref="element_choix_2"/>
</xsd:choice>
<xsd:attribute name="id" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="01"/>
<xsd:enumeration value="02"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="element_racine">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="element_enfant"
type="element_enfantType"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema> |