javax.xml.bind.annotation

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

将 JavaBean 属性映射到 XML 属性。

用法

@XmlAttribute 注释能够与下列程序元素一起使用:

  • JavaBean 属性
  • 字段

一个 static final 字段将被映射到 XML fixed 属性。

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

用法受到以下约束的限制:
  • 如果字段或属性的类型是集合类型,则必须将集合项类型必须映射到简单模式类型。
         // Examples
         @XmlAttribute List<Integer> items; //legal
         @XmlAttribute List<Bar> foo; // illegal if Bar does not map to a schema simple type
     
  • 如果字段或属性的类型是非集合类型,则必须将属性或字段的类型映射到简单模式类型。
         // Examples
         @XmlAttribute int foo; // legal
         @XmlAttribute Foo foo; // illegal if Foo does not map to a schema simple type
     
  • 此注释可与以下注释一起使用:XmlIDXmlIDREFXmlListXmlSchemaTypeXmlValueXmlAttachmentRefXmlMimeTypeXmlInlineBinaryDataXmlJavaTypeAdapter
  • .

示例 1:将 JavaBean 属性映射到 XML 属性。

     //Example: Code fragment
     public class USPrice { 
         @XmlAttribute
         public java.math.BigDecimal getPrice() {...} ;
         public void setPrice(java.math.BigDecimal ) {...};
     }

     <!-- Example: XML Schema fragment -->
     <xs:complexType name="USPrice">
       <xs:sequence>
       </xs:sequence>
       <xs:attribute name="price" type="xs:decimal"/>
     </xs:complexType>
 

示例 2:将 JavaBean 属性映射到带有匿名类型的 XML 属性。

请参阅 @ XmlType 中的示例 7。

示例 3:将 JavaBean 集合属性映射到 XML 属性。

     // Example: Code fragment
     class Foo {
         ...
         @XmlAttribute List<Integer> items;
     } 

     <!-- Example: XML Schema fragment -->
     <xs:complexType name="foo">
         ...
       <xs:attribute name="items">
         <xs:simpleType>
           <xs:list itemType="xs:int"/>
         </xs:simpleType>
     </xs:complexType>

 

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

可选元素摘要
 String name
          XML 模式属性的名称。
 String namespace
          指定 XML 模式属性的 XML 目标名称空间。
 boolean required
          指定 XML 模式属性是可选的还是必需的。
 

name

public abstract String name
XML 模式属性的名称。默认情况下,XML 模式属性名称派生自 JavaBean 属性名称。

默认值:
"##default"

required

public abstract boolean required
指定 XML 模式属性是可选的还是必需的。如果为 true,则将 JavaBean 属性映射到必需的 XML 模式属性。否则,将它映射到可选的 XML 模式属性。

默认值:
false

namespace

public abstract String namespace
指定 XML 模式属性的 XML 目标名称空间。

默认值:
"##default"