XML Schema redefine-Element

Definition und Verwendung

Der redefine-Element ermöglicht die Neudefinierung von einfachen und komplexen Typen, Gruppen und Attributgruppen, die aus externen Schema-Dateien abgerufen werden, im aktuellen Schema.

Elementinformation

Auftretenshäufigkeit Unbeschränkt
Übergeordneter Element schema
Inhalt annotation、attributeGroup、complexType、group、simpleType

Grammatik

<redefine
id=ID
schemaLocation=anyURI
jegliche Attribute
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Eigenschaft Beschreibung
id Optional. Definiert eine eindeutige ID für das Element.
schemaLocation Erforderlich. URI-Referenz zur Dokumentposition des Schemas.
jegliche Attribute Optional. Definiert jede andere Eigenschaft mit einer non-schema Namensraum.

Beispiel

Beispiel 1

Der folgende Beispiel zeigt eine Schema, Myschama2.xsd, in dem Elemente vorhanden sind, die von Myschama1.xsd definiert werden. Der Typ "pname" wird neu definiert. Gemäß diesem Schema müssen Elemente, die von "pname" eingeschränkt sind, mit einem "country"-Element enden:

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>