Điều gì xảy ra khi lựa chọn có minOccurs> 1? Điều này có nghĩa là yếu tố "Bắt đầu" có thể xảy ra 3 lần?
Có <Start>
có thể xảy ra 3 lần hoặc nhiều hơn! Có minOccurs của sự lựa chọn là nhiều hơn 1 cho phép thiết lập các yếu tố xuất hiện nhiều hơn một lần hoặc các yếu tố khác nhau xuất hiện nhiều lần.
Chi tiết giải thích: Trong ví dụ trên bạn đã áp dụng minOccurs như 3 cho <Choice>
và maxOccurs là vô biên! Điều đó có nghĩa là .. Các phần tử con được liệt kê dưới <Choice>
, bất kỳ ba thẻ nào trong số chúng hoặc bất kỳ thẻ nào được lặp lại ba lần sẽ xuất hiện bên dưới bố mẹ chúng! XML mẫu được liệt kê dưới đây:
Chúng ta hãy giả định rằng các thiết lập của thẻ xuất hiện dưới một nút gọi là <parent>
thì:
<parent>
<Start>Start1</Start>
<Center>Center1</Center>
<End>End1</End>
</parent>
-------- HOẶC --------
<parent>
<Center>Start1</Center>
<Center>Center1</Center>
<Feature>End1</Feature>
</parent>
-------- HOẶC --------
<parent>
<Start>Start1</Start>
<Start>Start1</Start>
<Start>Start1</Start>
<Start>Start1</Start>
</parent>
tất cả các kết hợp trên là hợp lệ!
NHƯNG bạn cũng đã xác định minOccurs = "0" cho 'PI' và 'Feature' ..
Ngoài Điều này gây Validator để vượt qua cha mẹ không có phần tử con là tốt. ví dụ:
<parent>
</parent>
Nếu bạn loại bỏ minOccurs từ hai yếu tố sau đó lực lượng xác nhận bạn bao gồm tối thiểu 3 thẻ được đưa dưới mẹ.
Cũng có maxOccurs="unbounded"
cho Feature
Yếu tố không được sử dụng! Các hành vi sẽ không thay đổi nếu bạn thêm nó hoặc cởi nó ra ..
Nguồn
2012-12-21 08:35:31
+1 cho câu hỏi duy nhất và hợp lệ! –