Phần tử attribute XML Schema

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

Phần tử attribute định nghĩa một thuộc tính.

Thông tin phần tử

Số lần xuất hiện Định nghĩa một lần trong phần tử schema. Tham chiếu nhiều lần trong loại phức tạp hoặc nhóm thuộc tính.
Phần tử cha attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Nội dung annotation、simpleType

Ngữ pháp

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
bất kỳ thuộc tính nào
>
(annotation?,(simpleType?))
</attribute>

(? ký hiệu này cho biết phần tử này có thể xuất hiện không lần hoặc một lần trong phần tử attribute。)

Thuộc tính

default

Tùy chọn. Định nghĩa giá trị mặc định của thuộc tính. Các thuộc tính default và fixed không thể xuất hiện cùng lúc.

fixed

Tùy chọn. Định nghĩa giá trị cố định của thuộc tính. Các thuộc tính default và fixed không thể xuất hiện cùng lúc.

form

Tùy chọn. Định nghĩa định dạng của thuộc tính. Giá trị mặc định là giá trị của thuộc tính attributeFormDefault của phần tử schema chứa thuộc tính này. Có thể thiết lập các giá trị sau:

  • "qualified" - Chỉ ra rằng thuộc tính này phải được định danh bằng tiền tố tên không gian và tên không có tiền tố (NCName) của thuộc tính này.
  • "unqualified" - Chỉ ra rằng thuộc tính này không cần được định danh bởi tiền tố tên không gian và không cần khớp với tên không có tiền tố (NCName) của thuộc tính này, tức là tên cục bộ.

id

Tùy chọn. Quy định ID duy nhất của phần tử này.

tên

Tùy chọn. Quy định tên của thuộc tính. Thuộc tính name và ref không thể xuất hiện cùng nhau.

tham chiếu

Tùy chọn. Quy định tham chiếu đến thuộc tính được chỉ định. Thuộc tính name và ref không thể xuất hiện cùng nhau. Nếu ref xuất hiện, phần tử simpleType, form và type không thể xuất hiện.

loại

Tùy chọn. Quy định loại dữ liệu tĩnh hoặc loại đơn giản. Thuộc tính type chỉ xuất hiện khi nội dung không chứa phần tử simpleType.

sử dụng

Tùy chọn. Quy định cách sử dụng thuộc tính. Có thể thiết lập các giá trị sau:

  • tùy chọn - Thuộc tính là tùy chọn và có thể có bất kỳ giá trị nào (mặc định).
  • cấm - Không thể sử dụng thuộc tính.
  • bắt buộc - Thuộc tính là bắt buộc.

bất kỳ thuộc tính nào

Tùy chọn. Quy định bất kỳ thuộc tính nào khác với không gian tên non-schema.

Mô hình

Ví dụ 1

<xs:attribute name="code">
<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>
</xs:attribute>

Ví dụ trên chỉ ra rằng thuộc tính "code" có giới hạn. Giá trị duy nhất được chấp nhận là hai chữ cái in hoa A đến Z.

Ví dụ 2

Để sử dụng định nghĩa thuộc tính đã có trong loại phức tạp để khai báo thuộc tính, hãy sử dụng thuộc tính ref:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

Ví dụ 3

Thuộc tính có thể có giá trị mặc định hoặc giá trị cố định được chỉ định. Khi không có giá trị nào được chỉ định khác, giá trị mặc định sẽ được tự động gán cho thuộc tính. Trong ví dụ sau, giá trị mặc định là "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Khi không có giá trị nào được chỉ định khác, giá trị cố định sẽ được tự động gán cho thuộc tính. Nhưng khác với giá trị mặc định, nếu bạn đã quy định giá trị khác ngoài giá trị cố định cho thuộc tính, tài liệu sẽ xác minh là không hợp lệ. Trong ví dụ sau, giá trị cố định là "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Ví dụ 4

Tất cả các thuộc tính đều là tùy chọn mặc định. Để明确规定属性 là tùy chọn, hãy sử dụng thuộc tính "use":

<xs:attribute name="lang" type="xs:string" use="optional"/>

Làm thuộc tính trở thành thuộc tính bắt buộc:

<xs:attribute name="lang" type="xs:string" use="required"/>