Types composés XSD avec contenu mixte
- Page précédente XSD Ne contient que du texte
- Page suivante Indicateur XSD
Un type composite mixte peut contenir des attributs, des éléments et du texte.
Type composite à contenu mixte
L'élément XML, "letter", contient du texte et d'autres éléments :
<letter> Cher Monsieur <name>John Smith</name>. Votre commande <orderid>1032</orderid> sera expédié le <shipdate>2001-07-13</shipdate>. </letter>
Le schéma suivant déclare cet élément "letter" :
<xs:element name="letter"> <xs:complexType mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType> </xs:element>
Remarque :Pour que les données de caractères puissent apparaître entre les sous-éléments de "letter", l'attribut mixed doit être réglé sur "true". L'étiquette <xs:sequence> (name, orderid et shipdate) signifie que les éléments définis doivent apparaître successivement à l'intérieur de l'élément "letter".
Nous pouvons également donner un nom à l'élément complexType et faire que l'attribut type de l'élément "letter" référence ce nom de complexType (de cette manière, plusieurs éléments peuvent référencer le même type composite) :
<xs:element name="letter" type="lettertype"/> <xs:complexType name="lettertype" mixed="true"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/> </xs:sequence> </xs:complexType>
- Page précédente XSD Ne contient que du texte
- Page suivante Indicateur XSD