phần tử schema của XML Schema
Định nghĩa và cách sử dụng
phần tử schema định nghĩa phần tử gốc của schema.
Thông tin phần tử
số lần xuất hiện | một lần |
phần tử cha | (không có phần tử cha) |
nội dung | include、import、annotation、redefine、attribute、attributeGroup、element、group、notation、simpleType、complexType |
cú pháp
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI bất kỳ thuộc tính nào > ((include|import|redefine|annotation)*,(((simpleType|complexType| group|attributeGroup)|element|attribute|notation),annotation*)*) </schema>
Thuộc tính
id
Tùy chọn. Định nghĩa ID duy nhất của phần tử.
attributeFormDefault
Tùy chọn. Hình thức của thuộc tính được khai báo trong không gian tên mục tiêu của schema. Giá trị này phải là một trong các chuỗi sau: "qualified" hoặc "unqualified". Giá trị mặc định là "unqualified".
- "unqualified" chỉ ra rằng các thuộc tính của không gian tên mục tiêu không cần được xác định bởi tiền tố không gian tên.
- "qualified" chỉ ra rằng các thuộc tính của không gian tên mục tiêu phải được xác định bởi tiền tố không gian tên.
elementFormDefault
Tùy chọn. Hình thức của phần tử được khai báo trong không gian tên mục tiêu của schema. Giá trị này phải là một trong các chuỗi sau: "qualified" hoặc "unqualified". Giá trị mặc định là "unqualified".
- "unqualified" chỉ ra rằng các phần tử của không gian tên mục tiêu không cần được xác định bởi tiền tố không gian tên.
- "qualified" chỉ ra rằng các phần tử của không gian tên mục tiêu phải được xác định bởi tiền tố không gian tên.
blockDefault
Tùy chọn. Định nghĩa giá trị mặc định của thuộc tính block trên các phần tử element và complexType trong không gian tên mục tiêu. Thuộc tính block ngăn chặn các loại phức hợp (hoặc phần tử) có loại con được chỉ định được sử dụng để thay thế các loại phức hợp (hoặc phần tử) kế thừa. Giá trị này có thể chứa #all hoặc một danh sách, danh sách này là tập hợp con của extension, restriction hoặc substitution:
- extension - Ngăn chặn việc sử dụng các loại con phức hợp được mở rộng để thay thế loại phức hợp này.
- restriction - Ngăn chặn việc sử dụng các loại con phức hợp được ràng buộc để thay thế loại phức hợp này.
- substitution - Ngăn chặn việc thay thế phần tử.
- #all - Ngăn chặn tất cả các loại con phức hợp được sử dụng để thay thế loại phức hợp này.
finalDefault
Tùy chọn. Định nghĩa giá trị mặc định của thuộc tính final của các phần tử element, simpleType và complexType trong không gian tên mục tiêu của cấu trúc này. Thuộc tính final ngăn chặn phần tử, simpleType hoặc complexType sử dụng các loại con được chỉ định. Đối với các phần tử và phần tử complexType, giá trị này có thể chứa #all hoặc một danh sách, danh sách này là tập hợp con của extension hoặc restriction. Đối với phần tử simpleType, giá trị này còn có thể chứa list và union:
- extension - Mặc định, các phần tử trong schema không thể được phát sinh bằng cách mở rộng. Chỉ áp dụng cho phần tử element và complexType.
- restriction - Ngăn chặn phát sinh bằng cách giới hạn.
- list - Ngăn chặn phát sinh bằng cách liệt kê. Chỉ áp dụng cho phần tử simpleType.
- union - Ngăn chặn phát sinh bằng cách kết hợp. Chỉ áp dụng cho phần tử simpleType.
- #all - Mặc định, các phần tử trong schema không thể được phát sinh bằng bất kỳ phương pháp nào.
targetNamespace
Tham chiếu URI của không gian tên của schema. Cũng có thể phân bổ tiền tố cho không gian tên. Nếu không phân bổ tiền tố nào, các thành phần schema của không gian tên có thể được sử dụng cùng với các tham chiếu không giới hạn.
version
Tùy chọn. Định nghĩa phiên bản của schema.
xmlns
Định nghĩa một hoặc nhiều tham chiếu URI của không gian tên được sử dụng trong schema này. Nếu không phân bổ tiền tố, các thành phần schema của không gian tên có thể được sử dụng cùng với các tham chiếu không giới hạn.
bất kỳ thuộc tính nào
Tùy chọn. Định nghĩa bất kỳ thuộc tính nào có không gian tên non-schema.
Mô hình
Ví dụ 1
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="values" type="xs:string"> </xs:schema>
Ví dụ 2
Trong ví dụ này, thành phần schema (tên phần tử, loại) trong không gian tên http://www.w3.org/2001/XMLSchema là không có giới hạn, trong khi http://www.codew3c.com/codew3cschema (mystring) được giới hạn bằng tiền tố wsc:
<?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema"}} xmlns:wsc="http://www.codew3c.com/codew3cschema"> <element name="fname" type="wsc:mystring"/> </schema>