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> |