Éléments XSD uniquement
Un type complexe "éléments uniquement" contient un élément qui ne contient que d'autres éléments.
Types complexes contenant uniquement des éléments
Un élément XML, "person", qui ne contient que d'autres éléments :
<person>
<firstname>John</firstname>
<lastname>Smith</lastname>
</person>
Vous pouvez définir l'élément "person" dans un schéma, comme ceci :
<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>
Remarquez la balise <xs:sequence>. Cela signifie que les éléments définis ("firstname" et "lastname") doivent apparaître dans cet ordre à l'intérieur d'un élément "person".
Ou vous pouvez donner un nom à l'élément complexType, et laisser l'élément « person » avoir un attribut type qui fait référence au nom du complexType (si vous utilisez cette méthode, plusieurs éléments peuvent faire référence au même type complexe) :
<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>