phần tử XML Schema 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ử

lần xuất hiện một
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ơ cấu ngữ pháp

<schema
id=ID 
attributeFormDefault=đQualified|đUnqualified
elementFormDefault=đQualified|đUnqualified
blockDefault=(#all|danh sách của (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ử này.

attributeFormDefault

Tùy chọn. Định dạng 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 không cần sử dụng tiền tố không gian tên để định danh thuộc tính trong không gian tên mục tiêu.
  • "qualified" chỉ ra rằng phải sử dụng tiền tố không gian tên để định danh thuộc tính trong không gian tên mục tiêu.

elementFormDefault

Tùy chọn. Định dạng 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 không cần sử dụng tiền tố không gian tên để định danh phần tử trong không gian tên mục tiêu.
  • "qualified" chỉ ra rằng phải sử dụng tiền tố không gian tên để định danh phần tử trong không gian tên mục tiêu.

blockDefault

Tùy chọn. Định nghĩa giá trị mặc định của thuộc tính block trên phần tử và complexType trong không gian tên mục tiêu. Thuộc tính block ngăn chặn loại phức tạp (hoặc phần tử) có loại phái sinh cụ thể được sử dụng để thay thế loại phức tạ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 con của extension, restriction hoặc substitution:

  • extension - Ngăn chặn việc sử dụng loại phái sinh phức tạp để thay thế loại phức tạp này thông qua việc mở rộng.
  • restriction - Ngăn chặn việc sử dụng loại phái sinh phức tạp để thay thế loại phức tạp này thông qua việc hạn chế.
  • substitution - Ngăn chặn việc thay thế phần tử.
  • #all - Ngăn chặn tất cả các loại phái sinh phức tạp được sử dụng để thay thế loại phức tạp này.

finalDefault

Tùy chọn. Quy định giá trị mặc định của thuộc tính final của phần tử, simpleType và complexType trong không gian tên mục tiêu của cấu trúc. Thuộc tính final ngăn chặn phần tử, simpleType hoặc complexType được dẫn xuất bằng các loại xác định cụ thể. Đối với phần tử và complexType, giá trị có thể chứa #all hoặc một danh sách là tập hợp con của extension hoặc restriction. Đối với phần tử simpleType, giá trị cũng có thể chứa list và union:

  • extension - Mặc định, các phần tử trong schema không thể được dẫn xuất bằng cách mở rộng. Chỉ áp dụng cho phần tử element và complexType.
  • restriction - Ngăn chặn dẫn xuất thông qua giới hạn.
  • list - Ngăn chặn dẫn xuất thông qua danh sách. Chỉ áp dụng cho phần tử simpleType.
  • union - Ngăn chặn dẫn xuất thông qua liên kết. Chỉ áp dụng cho phần tử simpleType.
  • #all - Mặc định, các phần tử trong schema không thể được dẫn xuất 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, thành phần schema của không gian tên có thể được sử dụng cùng với tham chiếu không giới hạn.

version

Tùy chọn. Quy định phiên bản của schema.

xmlns

Quy định 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ố, thành phần schema của không gian tên có thể được sử dụng cùng với tham chiếu không giới hạn.

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 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 không bị giới hạn, trong khi http://www.codew3c.com/codew3cschema (mystring) được giới hạn bởi 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>