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>