Module  java.xml.bind

Annotation Type XmlValue



  • @Retention(RUNTIME)
    @Target({字段,METHOD})
    public @interface XmlValue

    使用simpleContent或XML Schema简单类型将类映射到XML模式复合类型。

    用法:

    @XmlValue注释可以与以下程序元素一起使用:

    • 一个JavaBean属性。
    • 非静态,非瞬态场。

    有关其他常见信息,请参阅javax.xml.bind.package javadoc中的“Package Specification”。

    用法受以下使用限制:
    • 最多可以使用@XmlValue注释注释一个字段或属性。
    • @XmlValue可以使用以下注释: XmlList 但是这是多余的,因为XmlList将类型映射到按列表派生的简单模式类型,就像XmlValue一样。
    • 如果字段或属性的类型是集合类型,则集合项类型必须映射到简单的模式类型。
    • 如果字段或属性的类型不是集合类型,那么类型必须映射到XML Schema简单类型。

    如果注释的JavaBean属性是映射到XML Schema构造的唯一类成员,则将该类映射到简单类型。 如果存在映射到XML属性的其他JavaBean属性(JavaBean属性(具有@XmlValue注释的JavaBean属性)),则该类将被映射到具有simpleContent的复杂类型。

    示例1:将类映射到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>  

    示例2:使用simpleContent将类映射到XML Schema complexType。

      // 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>  
    从以下版本开始:
    1.6,JAXB 2.0
    另请参见:
    XmlType