XMLElement @ required = true的含义

时间:2012-10-04 14:36:40

标签: jax-ws cxf

这是否意味着XML元素是强制性的?或者XML元素必须具有一些非null值?我对javadoc解释感到困惑。

2 个答案:

答案 0 :(得分:13)

@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"/>

将这两者结合起来:

@XMLELement(nillable=true, required=true)

提供类似于此的XML模式定义:

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

表示该元素是必需的,但您可以传入一个nil值。

答案 1 :(得分:3)

If required() is true, then Javabean property is mapped to an XML schema element declaration with minOccurs="1"

minOccurs指示符指定元素可以发生的最小次数。如果模式中的元素具有minOccurs="1"属性,则表示该元素是必需的。它必须出现在XML文档中。