使用回数を指定する
minOccurs属性とmacOccurs属性を使うと、要素やシーケンス、選択肢セット、順序なしグループ、名前付きグループを指定できる回数を制限することができます。
1. 要素又はグループの開始タグ内にminOccurs="n" と入力します。
n の部分には、要素又はグループを指定しなければならない最小回数を入力します。
1. 要素又はグループの開始タグ内にmaxOccurs="n" と入力します。
n の部分には、要素又はグループを指定しなければならない最大回数を入力します。
XSDコード <xsd:element name="treatment" type="xsd:string" minOccurs"1" maxOccurs="10" />
<xsd:element name="frequency" type xsd:integer" maxOccurs="10"/>minOccurs属性とmacOccurs属性を使うと、指定できる回数を制限することができます。
XMLコード <treatment id="130004410" >中心静脈注射</treatment>
<treatment id="130004570" >中心静脈注射(無菌製剤処理)加算</treatment>
<frequency >15</frequency>
<treatment id="130004670" >中心静脈注射用カテーテル挿入</treatment>
<frequency >7</frequency>
<treatment id="130009570" >中心静脈注射用カテーテル挿入(乳幼児)加算</treatment>
<frequency >5</frequency>
<treatment id="130009670" >中心静脈栄養(埋込型カテーテル)(無菌製剤処理)加算</treatment>
<treatment id="130009870" >中心静脈栄養用埋込型カテーテル設置(乳幼児)加算</treatment>
<treatment id="130010670" >中心静脈注射(血漿成分製剤文書)加算</treatment>
<frequency >2</frequency>treatment要素は1回以上5回以内で指定しなければならないので、これらの7つのtreatment要素はスキーマに対しては有効です。minOccurs属性とmaxOccurs属性を省略した場合は、両方とも規定値の1が使われるので、XML文書では要素をちょうど1回指定しなければなりません。
XSDコード <xsd:choice minOccurs="0" maxoccurs="unbounded" >
<xsd:element name="sister_name" type"xsd:string" />
<xsd:element name="brother_name" type"xsd:string" />
</xsd:choice>minOccurs属性とmaxOccurs属性はシーケンス、選択肢セット、順序なしグループ、名前付きグループ(への参照)にも適用できj増す。この怜では、選択肢グループを任意の数(0回も含む)だけ指定できます。つまり、sister_name要素とbrother_name要素を何回でも指定できます。これはDTDで選択肢にアスタリスクを追加するのと同じです。
・minOccurs属性には負以外の整数(0、1、2、3、・・・・・・・)を設定します。
・maxOccurs属性には負以外の整数に加え、「unbounded」も設定できます。これは、何回でも指定できることを示します。
・minOccurs属性とmaxOccurs属性の規定値はどちらも1です。
・グローバル宣言(xsd:schema要素の1レベル下で宣言)した要素ではminOccurs属性とmaxOPccurs属性を使用できません。ローカル宣言した要素とグローバル要素への参照でしか使用できません。
・これらの属性は、xsd:sequence、xsd:choice、xsd:all、および名前付きグループへの参照でも使用できます。