Annotation Interface XmlElement


@Retention(RUNTIME) @Target({FIELD,METHOD,PARAMETER}) public @interface XmlElement
Maps a JavaBean property to a XML element derived from property name.

Usage

@XmlElement annotation can be used with the following program elements:

  • a JavaBean property
  • non static, non transient field
  • within XmlElements
The usage is subject to the following constraints:

A JavaBean property, when annotated with @XmlElement annotation is mapped to a local element in the XML Schema complex type to which the containing class is mapped.

Example 1: Map a public non static non final field to local element

     //Example: Code fragment
     public class USPrice {
        @XmlElement(name="itemprice")
         public java.math.BigDecimal price;
     }
 

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice"/>
       <xs:sequence>
         <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
       </sequence>
     </xs:complexType>
   

Example 2: Map a field to a nillable element.

     //Example: Code fragment
     public class USPrice {
        @XmlElement(nillable=true)
         public java.math.BigDecimal price;
     }
 

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="0"/>
       </sequence>
     </xs:complexType>
   

Example 3: Map a field to a nillable, required element.

     //Example: Code fragment
     public class USPrice {
        @XmlElement(nillable=true, required=true)
         public java.math.BigDecimal price;
     }
 

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="1"/>
       </sequence>
     </xs:complexType>
   

Example 4: Map a JavaBean property to an XML element with anonymous type.

See Example 6 in @XmlType.

Since:
1.6, JAXB 2.0