Phần tử unique của XML Schema

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

Phần tử unique chỉ định thuộc tính hoặc giá trị phần tử (hoặc tổ hợp thuộc tính hoặc giá trị phần tử) phải là duy nhất trong phạm vi được chỉ định. Giá trị này phải duy nhất hoặc bằng không.

Phần tử unique phải chứa theo thứ tự các phần tử sau:

phần tử selector

Phần tử selector chứa biểu thức XPath, chỉ định một tập hợp phần tử, trong đó giá trị được chỉ định bởi phần tử field phải là duy nhất.

Phải có một và chỉ một phần tử selector.

phần tử field

Mỗi phần tử field chứa một biểu thức XPath, chỉ định giá trị duy nhất (thuộc tính hoặc giá trị phần tử) phải có đối với tập hợp phần tử được chỉ định bởi phần tử selector.

Nếu có nhiều phần tử field, thì tổ hợp của phần tử field phải là duy nhất. Trong trường hợp này, giá trị của một phần tử field đơn lẻ đối với phần tử chọn không nhất thiết là duy nhất, nhưng tổ hợp của tất cả các trường phải là duy nhất.

Phải có một hoặc nhiều phần tử field.

Thông tin phần tử

Xuất hiện Một lần
Phần tử cha element
Nội dung annotation、field、selector

Ngữ pháp

<unique
id=ID
name=NCName
bất kỳ thuộc tính nào
>
(annotation?,(selector,field+))
</unique>

(? ký hiệu này được chỉ định trong phần tử unique, phần tử này có thể xuất hiện không lần hoặc một lần。)

Thuộc tính Mô tả
id Tùy chọn. Định nghĩa ID duy nhất cho phần tử này.
name Bắt buộc. Định nghĩa tên cho phần tử này.
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 không có cấu trúc.

Mẫu

Ví dụ 1

Ví dụ này là một loại đơn giản đã hợp nhất hai loại đơn giản:

<xs:element name="jeans_size">
  <xs:simpleType>
    <xs:union memberTypes="sizebyno sizebystring" />
  </xs:simpleType>
</xs:element>
<xs:simpleType name="sizebyno">
  <xs:restriction base="xs:positiveInteger">
    <xs:maxInclusive value="42"/>
  </xs:restriction>
</xs:simpleType>
<xs:simpleType name="sizebystring">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small"/>
    <xs:enumeration value="medium"/>
    <xs:enumeration value="large"/>
  </xs:restriction>
</xs:simpleType>