Phần tử all trong 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 hoặc 1 lần.

Thông tin phần tử

lần xuất hiện một
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 rằng phần tử có thể xuất hiện 0 hoặc 1 lần, trong khi * ký hiệu rằng phần tử có thể xuất hiện 0 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. Tên nhận diện duy nhất của phần tử.
maxOccurs Tùy chọn. Số lần tối đa mà phần tử có thể xuất hiện. Giá trị này phải là 1.
minOccurs Tùy chọn. Số lần tối thiểu mà phần tử có thể xuất hiện. 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. Định nghĩa bất kỳ thuộc tính nào có không gian tên non-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 yếu tố "firstname" và "lastname" có thể xuất hiện theo bất kỳ thứ tự nào, mỗi yếu tố có thể xuất hiện zero hoặc một lần!