L'élément redefine permet d'mporter et de redéfinir les déclarations d'un schéma XML pour un même espace de noms.

<xsd:redefine 
  id = ID 
  schemaLocation = anyURI 
  {tout attribut ayant un espace de noms 
        différent de celui du schéma...}>
  Contenu : (annotation | 
              (simpleType | complexType 
                  | group | attributeGroup))*
</xsd:redefine>

L'élément redefine possède plusieurs attributs destinés à l'identifier et à préciser le schéma à importer.

Attributs Description
id précise un identificateur unique pour l'élément.
schemaLocation spécifie une adresse URI pointant vers un schéma XML à rédéfinir.

L'élément redefine ne peut être inclus que dans l'élément suivant :

Exemple [voir]
<?xml version="1.0" encoding="iso-8859-1"?>
<recueil 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="c:\schema.xsd">
  <poeme>
  <ref>1254369785</ref>
  <titre>Locution des pierrots</titre>
  <strophe>Je ne suis qu'un viveur lunaire
  Qui fait des ronds dans le bassin
  Et cela, sans autre dessein
  Que de devenir légendaire.</strophe>
  <strophe>Retroussant d'un air de défin
  Mes manches de Mandarin pâle,
  J'arrondis ma bouche et - j'exhale
  Des conseils doux de Crucifix</strophe>
  <strophe>Ah! oui, devenir légendaire,
  Au seuil des siècles charlatans !
  Mais où sont les Lunes d'antan ?
  Et que Dieu n'est-il à refaire ?</strophe>
  <auteur>Jules Laforgue</auteur>
  </poeme>
</recueil>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Fichier : schema.xsd -->
<xsd:schema 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        elementFormDefault="qualified">
  <xsd:redefine schemaLocation="c:\redefine.xsd">
  <xsd:complexType name="type_poeme">
      <xsd:complexContent>
        <xsd:extension base="type_poeme">
        <xsd:sequence>
          <xsd:element name="ref" type="xsd:integer"/>
        </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
  </xsd:complexType>
  </xsd:redefine>

  <xsd:element name="recueil">
  <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="poeme" 
                        type="type_poeme" 
                         maxOccurs="unbounded"/>
      </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
</xsd:schema>

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Fichier : redefine.xsd -->
<xsd:schema 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        elementFormDefault="qualified">
  <xsd:element name="auteur" type="xsd:string"/>
  <xsd:element name="strophe" type="xsd:string"/>
  <xsd:element name="titre" type="xsd:string"/>

  <xsd:complexType name="type_poeme">
  <xsd:sequence>
      <xsd:element ref="titre"/>
      <xsd:element ref="strophe" maxOccurs="unbounded"/>
      <xsd:element ref="auteur"/>
  </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="oeuvre" type="type_poeme"/>
</xsd:schema>