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