Annotation Interface XmlList


@Retention(RUNTIME) @Target({FIELD,METHOD,PARAMETER}) public @interface XmlList
Used to map a property to a list simple type.

Usage

The @XmlList annotation can be used with the following program elements:

  • JavaBean property
  • field

When a collection property is annotated just with @XmlElement, each item in the collection will be wrapped by an element. For example,

 @XmlRootElement
 class Foo {
     @XmlElement
     List<String> data;
 }
 
would produce XML like this:

 <foo>
   <data>abc</data>
   <data>def</data>
 </foo>
 
@XmlList annotation, on the other hand, allows multiple values to be represented as whitespace-separated tokens in a single element. For example,
 @XmlRootElement
 class Foo {
     @XmlElement
     @XmlList
     List<String> data;
 }
 
the above code will produce XML like this:

 <foo>
   <data>abc def</data>
 </foo>
 

This annotation can be used with the following annotations: XmlElement, XmlAttribute, XmlValue, XmlIDREF.

  • The use of @XmlList with XmlValue while allowed, is redundant since XmlList maps a collection type to a simple schema type that derives by list just as XmlValue would.
  • The use of @XmlList with XmlAttribute while allowed, is redundant since XmlList maps a collection type to a simple schema type that derives by list just as XmlAttribute would.
Since:
1.6, JAXB 2.0