Latest web development tutorials

XML Schema éléments complexes - texte seulement

Les éléments composites ne contiennent que du texte peut contenir du texte et des attributs.


Les éléments composites avec seulement du texte

Ce type ne contient que de contenu simple (texte et attributs), par conséquent, nous aimerions ajouter ce contenu éléments simpleContent. Lors de l'utilisation de contenu simple, nous devons définir l'extension ou de restreindre l'intérieur élément simpleContent, comme ceci:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="basetype">
....
....
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

或者:

<xs:element name="somename">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="basetype">
....
....
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Astuce: Utilisez l'élémentd'extension ou la restriction d'étendre ou de limiter les types d'éléments de base simples. Voici un exemple d'un élément XML, "pointure", qui ne contient que du texte:

<shoesize country="france">35</shoesize>

L'exemple suivant déclare un type complexe dont le contenu est défini comme une valeur entière, et l'élément "pointure" contient une propriété nommée «pays» de:

<xs:element name="shoesize">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

Nous pouvons également définir un nom pour l'élément complexType, et laisser l'attribut "pointure" de type d'élément pour faire référence à ce nom (en utilisant cette méthode, plusieurs éléments peuvent se référer au même type complexe):

<xs:element name="shoesize" type="shoetype"/>

<xs:complexType name="shoetype">
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="country" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>