UPPREVIOUSNEXT  Technologies Internet et Education, © TECFA
  5. Organisation d’éléments

5. Organisation d’éléments

5.1 Références vs. insertion directe

Eléments dans éléments (déconseillé)

<xs:element name="meta">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="author" type="xs:string"/>
        <xs:element name="version" type="xs:string"/>
        <xs:element name="date" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>

Définition d’éléments avec une référence (mieux)

<xs:sequence
>
        <xs:element ref="author"
/>
        .....
</xs:sequence
>

5.2 Séquences

Exemple 5-1: Une liste d’enfants ordonnées

  <xs:element
 name="meta">
    <xs:complexType>
      <xs:sequence
>
        <xs:element ref="author"
/>
        <xs:element ref="date"
/>
        <xs:element ref="version"
/>
      </xs:sequence>
    </xs:complexType>
 
  <xs:element
 name="version"
 type="xs:string"/>
  <xs:element name="date"
 type="xs:string"/>
  <xs:element name="author"
 type="xs:string"/>

Exemple 5-2: Une liste avec un ou plusieurs éléments

  <xs:element name="list">
    <xs:complexType>
      <xs:sequence
>
        <xs:element maxOccurs="unbounded
" ref="recipe
"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
 

Exemple 5-3: Une liste avec un élément email à option et répétable

 <xs:element name="person">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element minOccurs="0" maxOccurs="unbounded"
 ref="email"/>
        <xs:element ref="link"/>
      </xs:sequence>
      <xs:attributeGroup ref="attlist.person"/>
    </xs:complexType>
  </xs:element>

5.3 Choix

Exemple 5-4: Choix d’éléments à option et répétable

  <xs:element name="INFOS">
    <xs:complexType>
      <xs:choice 
minOccurs="0" maxOccurs="unbounded"
>
        <xs:element ref="date"/>
        <xs:element ref="author"/>
        <xs:element ref="a"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>

Exemple 5-5: Choix obligatoire entre éléments

 <xs:element name="ATTEMPT">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="action"/>
        <xs:element ref="EPISODE"/>
      </xs:choice>
    </xs:complexType>
  </xs:element>

5.4 Mixed contents

  <xs:element name="para">
    <xs:complexType mixed="true"
>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded
" ref="strong"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="strong" type="xs:string"/>

5.5 Empty elements (éléments vides)

<xs:element name="author"
 type="xs:string"/>

UPPREVIOUS NEXT -- TIE