Phần tử redefine XML Schema

Định nghĩa và cách sử dụng

Phần tử redefine cho phép định nghĩa lại các loại đơn giản và phức tạp, nhóm và nhóm thuộc tính được lấy từ tệp cấu trúc bên ngoài trong Schema hiện tại.

Thông tin phần tử

Lần xuất hiện Không giới hạn
Phần tử cha schema
Nội dung annotation、attributeGroup、complexType、group、simpleType

Ngữ pháp

<redefine
id=ID
schemaLocation=anyURI
bất kỳ thuộc tính nào
>
(annotation|(simpleType|complexType|group|attributeGroup))*
</redefine>
Thuộc tính Mô tả
id Tùy chọn. Quy định ID duy nhất của phần tử này.
schemaLocation Bắt buộc. Tham chiếu URI của vị trí tài liệu schema.
bất kỳ thuộc tính nào Tùy chọn. Quy định bất kỳ thuộc tính nào của non-schema naming space.

Mô hình

Ví dụ 1

Dưới đây là ví dụ minh họa một schema, Myschama2.xsd, trong đó có các phần tử được quy định bởi Myschama1.xsd. Loại pname được định nghĩa lại. Theo schema này, các phần tử bị pname qui định phải kết thúc bằng phần tử "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>