選択肢の minOccurs > 1 の場合はどうなりますか? これは、要素「開始」が 3 回発生する可能性があることを意味しますか?
はい<Start>
、3回以上発生する可能性があります! minOccurs の選択肢を 1 より多くすると、一連の要素を複数回表示したり、異なる要素を複数回表示したりできます。
詳細な説明:
上記の例では、minOccurs を 3 for として適用し<Choice>
、maxOccurs を unbounded として適用しました! つまり、.. の下にリストされている子要素<Choice>
、そのうちの 3 つ、または 3 回繰り返されるタグは、親の下に表示されます。サンプル XML を以下に示します。
<parent>
これらの一連のタグがthenというノードの下に表示されると仮定します。
<parent>
<Start>Start1</Start>
<Center>Center1</Center>
<End>End1</End>
</parent>
- - - - また - - - -
<parent>
<Center>Start1</Center>
<Center>Center1</Center>
<Feature>End1</Feature>
</parent>
- - - - また - - - -
<parent>
<Start>Start1</Start>
<Start>Start1</Start>
<Start>Start1</Start>
<Start>Start1</Start>
</parent>
上記の組み合わせはすべて有効です。
しかし、「PI」と「機能」に対して minOccurs="0" も定義しています..
この追加により、Validator は子要素のない親も渡します。すなわち:
<parent>
</parent>
これら 2 つの要素から minOccurs を削除すると、検証により、少なくとも 3 つのタグを親の下に含めることが強制されます。
また、maxOccurs="unbounded"
for Feature
Element を使用しても意味がありません。付けても外しても挙動は変わりません。