Red Hat Training

A Red Hat training course is available for Red Hat Fuse

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> オブジェクトになります。