//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:
- JavaBean property
- non static, non transient field
The usage is subject to the following constraints:
- The property must be a collection property
- This annotation can be used with the following annotations:
XmlElement
,XmlElements
,XmlElementRef
,XmlElementRefs
,XmlJavaTypeAdapter
.
See "Package Specification" in jakarta.xml.bind.package javadoc for additional common information.
- Since:
- 1.6, JAXB 2.0
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionName of the XML wrapper element.XML target namespace of the XML wrapper element.boolean
If true, the absence of the collection is represented by usingxsi:nil='true'
.boolean
Customize the wrapper element declaration to be required.
-
Element Details
-
name
String nameName of the XML wrapper element. By default, the XML wrapper element name is derived from the JavaBean property name.- Default:
"##default"
-
namespace
String namespaceXML target namespace of the XML wrapper element.If the value is "##default", then the namespace is determined as follows:
-
If the enclosing package has
XmlSchema
annotation, and itselementFormDefault
isQUALIFIED
, then the namespace of the enclosing class. - Otherwise "" (which produces unqualified element in the default namespace.
- Default:
"##default"
-
If the enclosing package has
-
nillable
boolean nillableIf true, the absence of the collection is represented by usingxsi:nil='true'
. Otherwise, it is represented by the absence of the element.- Default:
false
-
required
boolean requiredCustomize the wrapper element declaration to be 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.
- Since:
- 1.6, JAXB 2.1
- Default:
false
-