XML Schema – xsd:choice (複数要素から1つ出現させる)
書式
<xsd:choice>
<xsd:element name="名前1" type="データ型" />
<xsd:element name="名前2" type="データ型" />
</xsd:choice>
※上記の例では名前1と名前2のどちらか1つが出現する。
例
XML Schema
<xsd:element name="data">
<xsd:complexType>
<xsd:choice>
<xsd:element name="name" type="xsd:string" />
<xsd:element name="age" type="xsd:int" />
</xsd:choice>
</xsd:complexType>
</xsd:element name="data">
XML
<data>
<name>MAME</name>
</data>
もしくは
<data>
<age>10</age>
</data>
XML Schema – minOccurs, maxOccurs (要素の出現回数の指定)
書式
<xsd:element ref="要素名" minOccurs="最少出現回数" maxOccurs="最大出現回数" />
minOccurs
最少出現回数を指定する。
デフォルトは minOccurs="1"
0を指定すると省略可能要素となる。
maxOccurs
最大出現回数を指定する。
デフォルトは maxOccurs="1"
出現回数の上限をなくす場合は maxOccurs="unbounded" と指定する。
例
XML Schema
<xsd:element name="data">
<xsd:complexType>
<xsd:all>
<xsd:element name="name" type="xsd:string" minOccurs="2" maxOccurs="2"/>
</xsd:all>
</xsd:complexType>
</xsd:element name="data">
XML
<data>
<name>MAME</name>
<name>TAROU</name>
</data>
XML Schema – xsd:sequence (出現順序の指定)
書式
<xsd:sequence>
<xsd:element name="名前1" type="データ型" />
<xsd:element name="名前2" type="データ型" />
</xsd:sequence>
※上記の例では名前1と名前2が指定された順番通りに出現する。

