Phần tử XML Schema redefine

Đị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 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 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ó không gian tên không theo schema.

Mẫu

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ị约束 bởi pname 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>