web-dev-qa-db-ja.com

XMLElement @ required = trueの意味

XML要素が必須であることを意味しますか?または、XML要素にnull以外の値が必要ですか? javadoc の説明に本当に混乱しています。

13
sateesh
@XMLElement(required=true)

xMLスキーマで次のようなものを生成します。

<xs:element name="city" type="xs:string" minOccurs="1"/>

つまり、要素と値は必須です。デフォルトはfalseです。

この:

@XMLELement(nillable=true)

xMLスキーマで次のようなものを生成します。

<xs:element name="city" type="xs:string" nillable="true"/>

つまり、次のようにXMLでnil値を渡すことができます。

<city xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>

このように2つを組み合わせる:

@XMLELement(nillable=true, required=true)

次のようなXMLスキーマ定義を提供します。

<xs:element name="city" type="xs:string" nillable="true"/>

つまり、要素は必須ですが、nil値を渡すことができます。

13
CodeClimber

required()がtrueの場合、JavabeanプロパティはminOccurs = "1" を使用してXMLスキーマ要素宣言にマップされます。

minOccursインジケーターは、要素が発生する可能性のある最小回数を指定します。スキーマの要素にminOccurs="1"属性がある場合、これは要素が必須であることを意味します。 XMLドキュメントに表示される必要があります。

3