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