@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElementWrapper
//Example: code fragment int[] names; // XML Serialization Form 1 (Unwrapped collection) <names> ... </names> <names> ... </names> // XML Serialization Form 2 ( Wrapped collection ) <wrapperElement> <names> value-of-item </names> <names> value-of-item </names> .... </wrapperElement>
The two serialized XML forms allow a null collection to be represented either by absence or presence of an element with a nillable attribute.
Usage
The @XmlElementWrapper annotation can be used with the following program elements:
The usage is subject to the following constraints:
XmlElement
,
XmlElements
,
XmlElementRef
,
XmlElementRefs
,
XmlJavaTypeAdapter
See "Package Specification" in javax.xml.bind.package javadoc for additional common information.
XmlElement
,
XmlElements
,
XmlElementRef
,
XmlElementRefs
Modifier and Type | Optional Element and Description |
---|---|
java.lang.String |
name
Name of the XML wrapper element.
|
java.lang.String |
namespace
XML target namespace of the XML wrapper element.
|
boolean |
nillable
If true, the absence of the collection is represented by
using xsi:nil='true'.
|
boolean |
required
Customize the wrapper element declaration to be required.
|
public abstract java.lang.String name
public abstract java.lang.String namespace
If the value is "##default", then the namespace is determined as follows:
XmlSchema
annotation,
and its elementFormDefault
is QUALIFIED
, then the namespace of
the enclosing class.
public abstract boolean nillable
public abstract boolean required
If required() is true, then the corresponding generated XML schema element declaration will have minOccurs="1", to indicate that the wrapper element is always expected.
Note that this only affects the schema generation, and not the unmarshalling or marshalling capability. This is simply a mechanism to let users express their application constraints better.