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> |