Annotation Type 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
Author:
  • Kohsuke Kawaguchi, Sun Microsystems, Inc.
  • Sekhar Vajjhala, Sun Microsystems, Inc.