XmlList (Java SE 9 & JDK 9 )
Keywords: javax.xml.bind.annotation.XmlList class

Module java.xml.bind
Package javax.xml.bind.annotation

## 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