diaporamaMiscXML
 
◃  Ch. 2 XML Schema  ▹
 

Relation d'ordre

  • xsd:sequence implique d'avoir un ordre dans la position des éléments. Pour éviter l'ordre utiliser xsd:all
    <xsd:complexType name="typeLivre">
      <xsd:all>
        <xsd:element name="Titre" type="xsd:string"/>
        <xsd:element name="Auteur" type="xsd:string"/>
        <xsd:element name="Date" type="xsd:string"/>
        <xsd:element name="ISBN" type="xsd:string"/>
        <xsd:element name="Editeur" type="xsd:string"/>
      </xsd:all>
    </xsd:complexType>
    
  • Toutefois, il y a des contraintes :
    • les éléments déclarés dans xsd:all ont obligatoirement maxOccurs=1 et minOccurs=0 ou 1.
    • Si un complexType utilisé dans xsd:all hérite d'un autre type, ce dernier doit obligatoirement avoir un contenu vide.
    • xsd:all ne peut être utilisé dans un xsd:sequence, un xsd:choice ou un autre xsd:all.
    • xsd:all ne peut contenir que des éléments, pas xsd:sequence ni xsd:choice.