XML Schema redefine-element

Definition och användning

redefine-elementet tillåter att en enkel och komplex typ, grupp och attributgrupp från en extern arkitekturdokument tas upp och omdefinieras i det aktuella Schema:et.

Elementinformation

Antal framträdanden Obegränsat
Föräldrelement schema
Innehåll annotation, attributeGroup, complexType, group, simpleType

Syntaks

<redefine
id=ID
schemaLocation=anyURI
alla attribut
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Attribut Beskrivning
id Valfritt. Specificerar det unika ID för elementet.
schemaLocation Obligatorisk. En URI-referens till schema-dokumentets plats.
alla attribut Valfritt. Specificerar eventuella andra attribut med non-schema-namnrymd.

Exempel

Exempel 1

Ett exempel visar en schema, Myschama2.xsd, där det finns element som definieras av Myschama1.xsd. Typen pname omdefinieras. Enligt detta schema måste element som är begränsade av pname avslutas med ett "country"-element:

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>