Derniers tutoriels de développement web
 

Éléments de texte seulement XSD


Un élément de texte seul complexe peut contenir du texte et des attributs.


Éléments de texte seulement complexes

Ce type ne contient que de contenu simple (text and attributes) , donc nous ajoutons un élément simpleContent autour du contenu. Lors de l'utilisation de contenu simple, vous devez définir une extension ou une restriction dans l'é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>

OR

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

Tip: Utilisez l'élément d' extension / restriction d'étendre ou de limiter le type de base simple pour l'élément.

Voici un exemple d'un élément XML, "shoesize" , qui contient du texte uniquement:

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

L'exemple suivant déclare un complexType, "shoesize" . Le contenu est défini comme étant une valeur entière, et la "shoesize" élément contient également un attribut nommé "country" :

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

On pourrait aussi donner à l'élément complexType un nom, et de laisser le "shoesize" élément un attribut de type qui fait référence au nom du complexType (si vous utilisez 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>