Phần tử all của XML Schema

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

Phần tử all quy định rằng các phần tử con có thể xuất hiện theo bất kỳ thứ tự nào, mỗi phần tử con có thể xuất hiện 0 lần hoặc 1 lần.

Thông tin phần tử

Lần xuất hiện Một lần
Phần tử cha group、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)、complexType
Nội dung annotation、element

Ngữ pháp

<all
id=ID
maxOccurs=1
minOccurs=0|1
bất kỳ thuộc tính nào
>
(annotation?,element*)
</all>

(? ký hiệu cho biết phần tử có thể xuất hiện 0 lần hoặc 1 lần, trong khi * ký hiệu cho biết phần tử có thể xuất hiện 0 lần hoặc nhiều lần trong tất cả các phần tử khác。)

Thuộc tính Mô tả
id Tùy chọn. ID duy nhất của phần tử này.
maxOccurs Tùy chọn. Lần xuất hiện tối đa của phần tử. Giá trị này phải là 1.
minOccurs Tùy chọn. Lần xuất hiện tối thiểu của phần tử. Giá trị này có thể là số nguyên 0 hoặc 1. Để chỉ định phần tử là tùy chọn, hãy đặt thuộc tính này thành 0. Giá trị mặc định là 1.
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 định nghĩa schema.

Ví dụ 1

<xs:element name="person">
  <xs:complexType>
    <xs:all>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Ví dụ trên chỉ ra rằng các phần tử "firstname" và "lastname" có thể xuất hiện theo bất kỳ thứ tự nào, hai phần tử này đều phải và chỉ có thể xuất hiện một lần!

Ví dụ 2

<xs:element name="person">
  <xs:complexType>
    <xs:all minOccurs="0">
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
    </xs:all>
  </xs:complexType>
</xs:element>

Ví dụ trên chỉ ra rằng các phần tử "firstname" và "lastname" có thể xuất hiện theo bất kỳ thứ tự nào, mỗi phần tử có thể xuất hiện 0 lần hoặc 1 lần!