35.5.4. 要素の発生制約
概要
要素要素の minOccurs
属性と maxOccurs
属性を使用して、複雑なタイプで特定の 要素
が表示される回数を指定できます。両方の属性のデフォルト値は 1
です。
minOccurs を 0 に設定
複合型のメンバー要素の minOccurs
属性のいずれかを 0
に設定すると、対応する Java メンバー変数に付けられる @XmlElement
アノテーションが変更されます。required
プロパティーを true
に設定する代わりに、@XmlElement
アノテーションの required
プロパティーが false
に設定されます。
minOccurs が 1 より大きい値に設定されている
XML スキーマでは、要素の minOccurs
属性を複数の値に設定すると、タイプのインスタンスで element
要素を複数回発生させるように指定できます。ただし、生成された Java クラスは XML スキーマ制約をサポートしません。Apache CXF は、minOccurs
属性が設定されていないかのように、サポートする Java メンバー変数を生成します。
maxOccurs が設定されている要素
メンバー要素をコンプレックスタイプのインスタンスで複数回表示するには、要素の maxOccurs
属性を 1 よりも大きい値に設定します。maxOccurs
属性の値を unbounded
に設定し、member 要素に無制限の回数を表示できるように指定できます。
コードジェネレーターは、maxOccurs
属性が 1 を超える値に設定されたメンバー要素を List<T>
オブジェクトである Java メンバー変数にマッピングします。リストの基本クラスは、要素のタイプを Java にマッピングすることによって決定されます。XML スキーマのプリミティブ型の場合には、ラッパークラスは 「ラッパークラス」 のように使用されます。たとえば、メンバー要素の型が xsd:int
の場合、生成されるメンバー変数は List<Integer>
オブジェクトになります。