2012-10-04 32 views

Respuesta

10
@XMLElement(required=true) 

genera algo como esto en el esquema XML:

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

lo que significa que el elemento y un valor son obligatorios. El valor predeterminado es falso.

Este:

@XMLELement(nillable=true) 

genera algo como esto en el esquema XML:

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

que significa que puede pasar en un valor cero en el código XML como esto:

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

Combinando los dos como este:

@XMLELement(nillable=true, required=true) 

da una definición de esquema XML similar a esto:

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

que significa que el elemento es obligatorio, pero se puede pasar de un valor nulo.

2

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

El indicador minOccurs especifica el número mínimo de veces puede ocurrir un elemento. Si el elemento en el esquema tiene el atributo , esto significa que el elemento es obligatorio. Debe aparecer en el documento XML.

+0

Gracias por tomarse el tiempo para profundizar en mi pregunta. Lo he aclarado creando un arnés de prueba simple. La restricción obligatoria se aplica tanto al elemento como a su valor. – sateesh