Java™ Platform
Standard Ed. 8
javax.xml.bind.annotation

Annotation Type XmlValue



  • @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:

    • a JavaBean property.
    • non static, non transient field.

    See "Package Specification" in javax.xml.bind.package javadoc for additional common information.

    The usage is subject to the following usage constraints:
    • At most one field or property can be annotated with the @XmlValue annotation.
    • @XmlValue can be used with the following annotations: 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 type of the field or property is a collection type, then the collection item type must map to a simple schema type.
    • If the type of the field or property is not a collection type, then the type must map to a XML Schema simple type.

    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>
    
       

    Since:
    JAXB2.0
    See Also:
    XmlType
Java™ Platform
Standard Ed. 8

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部