UPPREVIOUSNEXT  Technologies Internet et Education, © TECFA
  6. Attributs

6. Attributs

Voici quelques examples

<xs:element name="Name">
 <xs:complexType
>
   <xs:attribute
 name="lang" type="xs:string" use="required"/>
 </xs:complexType
>
</xs:element>
 

Même chose, mais en plus long:

<xs:element name="Name">
 <xs:complexType
>
  <xs:simpleContent
>
   <xs:extension
 base="xs:string">
     <xs:attribute
 name="lang" type="xs:string" use="required"/>
   </xs:extension
  </xs:simpleContent
>
 </xs:complexType
>
</xs:element>
 

Groupes d’attributs

Exemple 6-1: Groupes d’attributs (file family.xsd)

<xs:element name="person">
    <xs:complexType
>
      <xs:attributeGroup
 ref="attlist.person
"/>
    </xs:complexType>
</xs:element>

La définition ci-dessus se réfère au groupe d’attributs défini ci-dessous:

 
<xs:attributeGroup
 name="attlist.person
">
    <xs:attribute name="name" use="required"/>
    <xs:attribute name="gender">
      <xs:simpleType>
        <xs:restriction base="xs:token"
>
          <xs:enumeration value="male"/>
          <xs:enumeration value="female"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
 
<!-- cont. à la page suivante ... -->
    
   <xs:attribute name="type" default="mother">
      <xs:simpleType>
        <xs:restriction base="xs:token"
>
          <xs:enumeration value="mother"/>
          <xs:enumeration value="father"/>
          <xs:enumeration value="boy"/>
          <xs:enumeration value="girl"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="id" use="required" type="xs:ID"/>
</xs:attributeGroup
>

Voici un fragment xml valide:

<family>
  <person name="Joe Miller" gender="male" type="father" id="I123456789"/>
  <person name="Josette Miller" type="girl" id="I123456987"/>
</family>

UPPREVIOUS NEXT -- TIE