L'élément group permet de définir un groupe d'éléments et d'y faire référence dans un schéma XML.
<xsd:group id = ID maxOccurs = (nonNegativeInteger | unbounded) : 1 minOccurs = nonNegativeInteger : 1 name = NCName ref = QName {tout attribut ayant un espace de noms différent de celui du schéma...}> Contenu : (annotation? , (all | choice | sequence)?) </xsd:group>
L'élément group possède plusieurs attributs destinés à définir les caractéristiques du groupe d'éléments.
Attributs | Description |
---|---|
id | précise un identificateur unique pour le groupe. |
maxOccurs | précise le nombre d'occurrences maximum du groupe. Par défaut, ce nombre est égal à 1. |
minOccurs | précise le nombre d'occurrences minimum du groupe. Par défaut, ce nombre est égal à 1. |
name | indique le nom du groupe. |
ref | indique une référence à un groupe d'attributs. |
L'élément group ne peut être inclus que dans les éléments suivants :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?> <librairie xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:\schema.xsd"> <livre isbn="2212110472" categorie="XML"> <titre> Services Web avec XML, SOAP, WSDL, UDDI, ebXML... </titre> <auteur>Jean-Marie Chauvet</auteur> <editeur>Eyrolles</editeur> </livre> <livre isbn="2100065203" categorie="XML"> <titre>XML - Manuel de Référence</titre> <auteur>R.Wyke</auteur> <auteur>S.Rehman</auteur> <auteur>B.Leupen</auteur> <editeur>Microsoft Press</editeur> </livre> <livre isbn="1928994474" categorie="XML"> <titre>XML.NET Developer's Guide</titre> <auteur>Collectif</auteur> <editeur>Syngress</editeur> </livre> </librairie> <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:simpleType name="type_isbn"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{10}"/> </xsd:restriction> </xsd:simpleType> <xsd:attributeGroup name="groupe_attributs_livre"> <xsd:attribute name="isbn" type="type_isbn" use="required"/> <xsd:attribute name="categorie" type="xsd:string"/> </xsd:attributeGroup> <xsd:group name="groupe_elements_livre"> <xsd:sequence> <xsd:element name="titre" type="xsd:string"/> <xsd:element name="auteur" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="editeur" type="xsd:string"/> </xsd:sequence> </xsd:group> <xsd:complexType name="type_livre"> <xsd:sequence> <xsd:group ref="groupe_elements_livre"/> </xsd:sequence> <xsd:attributeGroup ref="groupe_attributs_livre"/> </xsd:complexType> <xsd:complexType name="type_librairie"> <xsd:sequence> <xsd:element name="livre" type="type_livre" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="librairie" type="type_librairie"/> </xsd:schema> |