javax.xml.bind.annotation

接口
异常
注释
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlValue

支持将类映射到带有 simpleContent 的 XML 模式复杂类型或 XML 模式简单类型。

用法:

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

  • JavaBean 属性。
  • 非 static、非 transient 字段。

有关其他公共信息,请参阅 javax.xml.bind.package javadoc 中的“包规范”。

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

如果已注释的 JavaBean 属性是映射到 XML 模式构造的唯一类成员,那么该类将被映射到一个简单类型。 如果存在映射到 XML 属性的其他 JavaBean 属性(使用 @XmlValue 注释注释的 JavaBean 除外),那么类将被映射到带有 simpleContent 的复杂类型。

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

   

从以下版本开始:
JAXB2.0
另请参见:
XmlType