XML Schema redefine-element

Definitie en gebruik

Het element 'redefine' staat toe om eenvoudige en complexe typen, groepen en eigenschapsgroepen die zijn opgehaald uit externe schema-bestanden, opnieuw te definiëren in het huidige Schema.

Elementinformatie

Voorkomst Onbeperkt
Hoofdcomponent schema
Inhoud annotation, attributeGroup, complexType, group, simpleType

Syntax

<redefine
id=ID
schemaLocation=anyURI
enkele eigenschappen
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Eigenschappen Beschrijving
id Optioneel. Bepaal het unieke ID van dit element.
schemaLocation Verplicht. URI-referentie naar de locatie van het schema-document.
enkele eigenschappen Optioneel. Bepaal elke andere eigenschap met een non-schema naamruimte.

Voorbeeld

Voorbeeld 1

Hier is een voorbeeld dat een schema, Myschama2.xsd, waarin elementen bestaan die worden gedefinieerd door Myschama1.xsd, toont. De type 'pname' wordt opnieuw gedefinieerd. Volgens dit schema moeten elementen die worden beperkt door 'pname', eindigen met het element '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="country"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:redefine>
<xs:element name="author" type="pname"/>
</xs:schema>