Élément XML Schema redefine

Définition et utilisation

L'élément redefine permet de redéfinir dans le schéma actuel les types simples et complexes, les groupes et les groupes de propriétés obtenus à partir de fichiers de schéma externes.

Informations sur l'élément

Fréquence d'apparition Illimité
Élément parent schema
Contenu annotation, attributeGroup, complexType, group, simpleType

Grammaire

<redefine
id=ID
schemaLocation=anyURI
any attributes
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Propriétés Description
id Optionnel. Définit l'ID unique de l'élément.
schemaLocation Obligatoire. Référence URI de la position du document schéma.
any attributes Optionnel. Définit toute autre propriété portant une namespace non-schématique.

Exemple

Exemple 1

L'exemple suivant montre un schéma, Myschama2.xsd, où existent des éléments définis par Myschama1.xsd. Le type pname est redéfini. Selon ce schéma, les éléments soumis à pname doivent se terminer par l'élément "country":

Myschema1.xsd:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="pname">
  <xs:sequence>
    <xs:element name="firstname"/>
    <xs:element name="lastname"/>
  </xs:sequence>
</xs:complexType>
<xs:element name="customer" type="pname"/>
</xs:schema>

Myschema2.xsd:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:redefine schemaLocation="Myschema1.xsd">
  <xs:complexType name="pname">
    <xs:complexContent>
      <xs:extension base="pname">
        <xs:sequence>
          <xs:element name="pays"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:redefine>
</xs:element name="auteur" type="pname"/>
</xs:schema>