-
@Retention(RUNTIME) @Target({FIELD,METHOD}) public @interface XmlAttribute
Maps a JavaBean property to a XML attribute.
Usage
The
@XmlAttribute
annotation can be used with the following program elements:- JavaBean property
- field
A static final field is mapped to a XML fixed attribute.
See "Package Specification" in javax.xml.bind.package javadoc for additional common information.
The usage is subject to the following constraints:- If type of the field or the property is a collection
type, then the collection item type must be mapped to schema
simple type.
// Examples @XmlAttribute List<Integer> items; //legal @XmlAttribute List<Bar> foo; // illegal if Bar does not map to a schema simple type
- If the type of the field or the property is a non
collection type, then the type of the property or field
must map to a simple schema type.
// Examples @XmlAttribute int foo; // legal @XmlAttribute Foo foo; // illegal if Foo does not map to a schema simple type
- This annotation can be used with the following annotations:
XmlID
,XmlIDREF
,XmlList
,XmlSchemaType
,XmlValue
,XmlAttachmentRef
,XmlMimeType
,XmlInlineBinaryData
,XmlJavaTypeAdapter
.
Example 1: Map a JavaBean property to an XML attribute.
//Example: Code fragment public class USPrice { @XmlAttribute public java.math.BigDecimal getPrice() {...} ; public void setPrice(java.math.BigDecimal ) {...}; }
<!-- Example: XML Schema fragment --> <xs:complexType name="USPrice"> <xs:sequence> </xs:sequence> <xs:attribute name="price" type="xs:decimal"/> </xs:complexType>
Example 2: Map a JavaBean property to an XML attribute with anonymous type.
See Example 7 in @XmlType
.Example 3: Map a JavaBean collection property to an XML attribute.
// Example: Code fragment class Foo { ... @XmlAttribute List<Integer> items; }
<!-- Example: XML Schema fragment --> <xs:complexType name="foo"> ... <xs:attribute name="items"> <xs:simpleType> <xs:list itemType="xs:int"/> </xs:simpleType> </xs:complexType>
- Since:
- 1.6, JAXB 2.0
- See Also:
XmlType