L'élément union permet à un élément ou à un attribut XML d'être une ou plusieurs instances d'un type de données formé par la réunion de plusieurs types atomiques ou listes.
<xsd:union id = ID memberTypes = Liste de QName {tout attribut ayant un espace de noms différent de celui du schéma...}> Contenu : (annotation?, (simpleType*)) </xsd:union>
L'élément union possède plusieurs attributs destinés à l'identifier et à préciser des types de données.
Attributs | Description |
---|---|
id | précise un identificateur unique pour l'élément. |
memberTypes | spécifie une liste de noms de types de données séparés par un espace blanc. |
L'élément union ne peut être inclus que dans l'élément suivant :
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"> <note_devoir>11</note_devoir> <note_devoir>AB</note_devoir> </element_racine> <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:simpleType name="note_chiffree"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="20"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="type_note"> <xsd:union memberTypes="xsd:string note_chiffree"/> </xsd:simpleType> <xsd:complexType name="type_element_racine"> <xsd:sequence> <xsd:element name="note_devoir" type="type_note" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="element_racine" type="type_element_racine"/> </xsd:schema> |