XmlValue (Java Platform SE 8 ) (original) (raw)

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:

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;

}

<xs:complexType name="InternationalPrice"> xs:simpleContent <xs:extension base="xs:decimal"> <xs:attribute name="currency" type="xs:string"/>