XML Schema choice要素

定義と使用法

XML Schemaのchoice要素は、<choice>宣言の中に含まれる要素のうちの1つのみを含むことができます。

要素情報

出現回数 groupおよびcomplexType要素では1回のみ;他の要素では制限ありません。
親要素 group、choice、sequence、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
内容 annotation、any、choice、element、group、sequence

文法

<choice
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
any attributes
>
(annotation?,(element|group|choice|sequence|any)*)
</choice>

(?シンボルはchoice要素の中で宣言され、要素は0回または1回現れます。*シンボルは要素が0回または複数回現れます。)

属性 説明
id 任意。この属性は、この要素のユニークなIDを定義します。
maxOccurs 任意。この属性は、choice要素が親要素の中で現れる最大回数を定義します。この値は0以上の整数でできます。最大回数に制限を設定したい場合は、文字列"unbounded"を使用してください。デフォルト値は1です。
minOccurs 任意。この属性は、choice要素が親要素の中で現れる最小回数を定義します。この値は0以上の整数でできます。このanyグループが任意であることを指定するには、この属性を0に設定してください。デフォルト値は1です。
any attributes オプション。non-schema 名前空間を持つ他の属性を指定します。

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

上記の例では、"person" 要素が "employee" 要素または "member" 要素を含む必要があります。