Types composés XSD - Ne contient que des éléments

Un élément de type composite "ne contient que des éléments" ne peut contenir que d'autres éléments.

Le type composite ne contient que des éléments

L'élément XML, "person", ne contient que d'autres éléments :

<person>
<firstname>John</firstname>
<lastname>Smith</lastname>
</person>

Vous pouvez définir l'élément "person" dans le schéma de la manière suivante :

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Veuillez noter cette <xs:sequence> . Cela signifie que les éléments définis doivent apparaître dans l'ordre indiqué dans l'élément "person" .

Ou vous pouvez attribuer un nom à l'élément complexType et faire référence à ce nom via l'attribut type de l'élément "person" (si vous utilisez cette méthode, plusieurs éléments peuvent faire référence au même type composite) :

<xs:element name="person" type="persontype"/>
<xs:complexType name="persontype">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>