Derniers tutoriels de développement web
 

XML Schéma Élément d'extension


<XML Schema Complete Reference

Définition et utilisation

L'élément d'extension étend une simpleType existante ou complexType élément.

Informations sur l'élément

  • Parent elements: simpleContent, complexContent

Syntaxe

<extension
id=ID
base=QName
any attributes
>

(annotation?,((group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?)))

</extension>

(Le signe? Déclare que l'élément peut se produire zéro ou une fois, et le signe * déclare que l'élément peut se produire zéro ou plusieurs fois à l'intérieur de l'élément d'extension)

Attribut La description
id Optionnel. Indique un identifiant unique pour l'élément
base Obligatoire. Indique le nom d'un type intégré de données, un élément simpleType, ou un élément de complexType
any attributes Optionnel. Indique tous les autres attributs avec non-schema espace de noms

Exemple 1

L'exemple suivant étend un simpleType existant en ajoutant un attribut:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:simpleType name="size">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small" />
    <xs:enumeration value="medium" />
    <xs:enumeration value="large" />
  </xs:restriction>
</xs:simpleType>

<xs:complexType name="jeans">
  <xs:simpleContent>
    <xs:extension base="size">
      <xs:attribute name="sex">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="male" />
            <xs:enumeration value="female" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>

</xs:schema>

exemple 2

L'exemple suivant étend un élément complexType existant en ajoutant trois éléments:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

</xs:schema>

<XML Schema Complete Reference