|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Retention(value=RUNTIME) @Target(value={FIELD,METHOD}) public @interface XmlValue
Enables mapping a class to a XML Schema complex type with a simpleContent or a XML Schema simple type.
Usage:
The @XmlValue annotation can be used with the following program elements:
See "Package Specification" in javax.xml.bind.package javadoc for additional common information.
The usage is subject to the following usage constraints:XmlList
. However this is redundant since
XmlList
maps a type to a simple schema type that derives by
list just as XmlValue
would. If the annotated JavaBean property is the sole class member being mapped to XML Schema construct, then the class is mapped to a simple type. If there are additional JavaBean properties (other than the JavaBean property annotated with @XmlValue annotation) that are mapped to XML attributes, then the class is mapped to a complex type with simpleContent.
Example 1: Map a class to XML Schema simpleType
// Example 1: Code fragment public class USPrice { @XmlValue public java.math.BigDecimal price; } <!-- Example 1: XML Schema fragment --> <xs:simpleType name="USPrice"> <xs:restriction base="xs:decimal"/> </xs:simpleType>
Example 2: Map a class to XML Schema complexType with with simpleContent.
// Example 2: Code fragment public class InternationalPrice { @XmlValue public java.math.BigDecimal price; @XmlAttribute public String currency; } <!-- Example 2: XML Schema fragment --> <xs:complexType name="InternationalPrice"> <xs:simpleContent> <xs:extension base="xs:decimal"> <xs:attribute name="currency" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType>
XmlType
|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |