Éléments composés XSD
- Page précédente Restreintes XSD
- Page suivante Élément vide XSD
Un élément composite contient d'autres éléments et/ou des attributs.
Qu'est-ce qu'un élément composite ?
Un élément composite est un élément XML contenant d'autres éléments et/ou des attributs.
Il y a quatre types d'éléments composites :
- Élément vide
- Élément contenant d'autres éléments
- Élément ne contenant que du texte
- Élément contenant des éléments et du texte
Remarque :Ces éléments peuvent tous contenir des attributs !
Exemples d'éléments composites
Un élément composite, "product", est vide :
<product pid="1345"/>
Un élément composite, "employee", ne contient que d'autres éléments :
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
Un élément composite, "food", ne contient que du texte :
<food type="dessert">Glace</food>
Un élément composite, "description", contient des éléments et du texte :
<description> Cela s'est produit le <date lang="norwegian">03.03.99</date> .... </description>
Comment définir un élément composite ?
Regardez cet élément composé XML, "employee", qui ne contient que d'autres éléments :
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
Dans XML Schema, nous avons deux façons de définir un élément composé :
1. En nommant cet élément, vous pouvez déclarer directement l'élément "employee", comme ceci :
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Si vous utilisez la méthode décrite ci-dessus, seuls "employee" peuvent utiliser le type composé spécifié. Notez que ses éléments enfants, "firstname" et "lastname", sont encadrés par l'indicateur <sequence>. Cela signifie que les éléments doivent apparaître dans l'ordre dans lequel ils sont déclarés. Vous verrez Indicateurs XSD Cette section apprend plus sur les indicateurs.
2. "employee" l'élément peut utiliser l'attribut type, qui a pour fonction d'indiquer le nom du type composé à utiliser :
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Si vous avez utilisé la méthode décrite ci-dessus, plusieurs éléments peuvent utiliser le même type composé, par exemple :
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Vous pouvez également ajouter des éléments sur un élément composé existant, en se basant sur un élément composé, comme ceci :
<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
- Page précédente Restreintes XSD
- Page suivante Élément vide XSD