Element redefine XML Schema

Definicja i użycie

Element redefine pozwala na ponowne zdefiniowanie prostych i złożonych typów, grup i grup atrybutów pobranych z zewnętrznych plików architektonicznych w bieżącym Schemacie.

Informacje o elemencie

Częstotliwość występowania Bez ograniczeń
Rodzic schema
Zawartość annotation、attributeGroup、complexType、group、simpleType

Gramatyka

<redefine
id=ID
schemaLocation=anyURI
Jakiekolwiek atrybuty
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Atrybuty Opis
id Opcjonalne. Określa unikalny ID elementu.
schemaLocation Wymagane. Odwołanie URI do lokalizacji dokumentu schematu.
Jakiekolwiek atrybuty Opcjonalne. Określa inne atrybuty z non-schematycznej przestrzeni nazw.

Przykład

Przykład 1

Poniższy przykład pokazuje schemat, Myschema2.xsd, w którym istnieją elementy zdefiniowane w Myschema1.xsd. Typ "pname" jest ponownie zdefiniowany. Według tego schematu, elementy ograniczone przez "pname" muszą kończyć się elementem "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>