XML Schema redefine-element

Definitie en gebruik

Het element "redefine" in XML Schema staat toe om eenvoudige en complexe typen, groepen en eigenschapsgroepen van externe schema-bestanden in het huidige Schema opnieuw te definiëren.

Elementinformatie

Voorkomende keren Onbeperkt
Ouder-element 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. Stelt een unieke ID voor van het element.
schemaLocation Verplicht. URI-referentie naar de locatie van het schema-document.
enkele eigenschappen Optioneel. Stelt enige andere eigenschappen met een non-schematische naamruimte voor.

Voorbeeld

Voorbeeld 1

De volgende voorbeeld toont een schema, Myschama2.xsd, waarin elementen zijn gedefinieerd door Myschama1.xsd. Het type "pname" wordt herdefinieerd. Volgens dit schema moeten elementen die door "pname" worden beperkt 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>