Éléments composés vides XSD

Un élément composé vide ne peut pas contenir de contenu, il ne peut contenir que des attributs.

Élément composé vide :

Un élément XML vide :

<product prodid="1345" />

L'élément "product" mentionné précédemment n'a pas de contenu. Pour définir un type sans contenu, nous devons déclarer un type qui ne peut contenir que des éléments dans son contenu, mais nous ne déclarerons pas d'éléments, par exemple :

<xs:element name="product">
  <xs:complexType>
    <xs:complexContent>
      <xs:restriction base="xs:integer">
        <xs:attribute name="prodid" type="xs:positiveInteger"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

Dans cet exemple, nous avons défini un type composé avec un contenu composite. L'élément "complexContent" indique que nous avons l'intention de limiter ou d'étendre le modèle de contenu d'un type composé, tandis que la limitation "integer" déclare une propriété sans introduire de contenu élémentaire.

Cependant, il est également possible de déclarer ce "product" élément de manière plus compacte :

<xs:element name="product">
  <xs:complexType>
    <xs:attribute name="prodid" type="xs:positiveInteger"/>
  </xs:complexType>
</xs:element>

Ou vous pouvez donner un nom à un élément complexType, puis définir une propriété type pour l'élément "product" et faire référence à ce complexType nom (de cette manière, plusieurs éléments peuvent faire référence au même type composé) :

<xs:element name="product" type="prodtype"/>
<xs:complexType name="prodtype">
  <xs:attribute name="prodid" type="xs:positiveInteger"/>
</xs:complexType>