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