Tutoriel sur le...login
Tutoriel sur le schéma XML
auteur:php.cn  temps de mise à jour:2022-04-20 14:13:02

Éléments composés du schéma XML


XSD Élément composé


Un élément composé contient d'autres éléments et/ou attributs.


h2>Qu'est-ce qu'un élément composite ?

Un élément composé est un élément XML qui contient d'autres éléments et/ou attributs.

Il existe quatre types d'éléments composés :

  • Élément vide

  • Élément contenant d'autres éléments

  • Élément contenant uniquement du texte

  • Élément contenant à la fois l'élément et le texte

Remarque : Tous les éléments ci-dessus peuvent contenir des attributs !


Exemple d'élément composé

L'élément composé, "produit", est vide :

<product pid="1345"/>

Un élément composite, "employé", contenant uniquement d'autres éléments :

<employé>
<prénom>Jean</prénom>
<lastname>Smith</lastname>
</employee>

L'élément XML composé, "food", contient uniquement du texte :

<food type="dessert">Crème glacée</food>

Élément XML composé, "description" contient des éléments et du texte :

<description>
C'est arrivé le <date lang="norwegian">03.03.99</date> ....
</description>


Comment définir élément composé ?

Regardez cet élément XML composé, "employé", contenant uniquement d'autres éléments :

<employé>
<prénom>Jean</prénom>
<lastname>Smith</lastname>
</employee>

Dans le schéma XML, nous avons deux manières de définir des éléments composés :

1 Par nom. cet élément, vous pouvez déclarer directement l'élément "employee", comme ceci :

<xs:element name="employee">
​ <xs:complexType>
​​ <xs:séquence>
                        <xs:element name="firstname" type="xs:string"/>
                        <xs:element name="lastname" type="xs:string"/>
​​ </xs:séquence>
​ </xs:complexType>
</xs:element>

Si vous utilisez la méthode décrite ci-dessus, seul « employé » peut utiliser le type composite spécifié. Notez que ses éléments enfants, "firstname" et "lastname", sont entourés de l'indicateur <sequence>. Cela signifie que les éléments enfants doivent apparaître dans l'ordre dans lequel ils sont déclarés. Vous en apprendrez plus sur les indicateurs dans la section Indicateurs XSD.

2. L'élément "employee" peut utiliser l'attribut type, qui est utilisé pour référencer le nom du type composite à utiliser :

<xs:element name= "employé" type="personinfo"/>

<xs:complexType name="personinfo">
​ <xs:séquence>
​​ <xs:element name="firstname" type="xs:string"/>
​​ <xs:element name="lastname" type="xs:string"/>
​ </xs:sequence>
</xs:complexType>

Si vous utilisez la méthode décrite ci-dessus, plusieurs éléments peuvent utiliser le même type composite, comme ceci :

<xs:element name="employee" type="personinfo"/>
<xs:element name="student" type="personinfo"/>
< xs:element name="member" type="personinfo"/>

<xs:complexType name="personinfo">
​ <xs:séquence>
​​ <xs:element name="firstname" type="xs:string"/>
​​ <xs:element name="lastname" type="xs:string"/>
​ </xs:sequence>
</xs:complexType>

Vous pouvez également baser un élément composé sur un élément composé existant, puis ajouter quelques éléments, comme ceci :

<xs:element name="employee" type="fullpersoninfo" />

<xs:complexType name="personinfo">
​ <xs:séquence>
​​ <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:séquence>
                                         <xs:element name="address" type="xs:string"/>
                                          <xs:element name="city" type="xs:string"/>
                                          <xs:element name="country" type="xs:string"/>
                        </xs:séquence>
​​ </xs:extension>
​ </xs:complexContent>
</xs:complexType>

Site Web PHP chinois