XmlAttribute (Java EE 5)

Java EE API


javax.xml.bind.annotation Annotation Type XmlAttribute


@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlAttribute

Implements: Annotation
@Retention(value=RUNTIME)
@Target(value={FIELD, METHOD})

将 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
     
  • 此注释可与以下注释一起使用:XmlIDXmlIDREFXmlListXmlSchemaTypeXmlValueXmlAttachmentRefXmlMimeTypeXmlInlineBinaryDatajavax.xml.bind.annotation.adapters.XmlJavaTypeAdapter
  • .

示例 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>

 
英文文档:

Maps a JavaBean property to a XML attribute.

Usage

The @XmlAttribute annotation can be used with the following program elements:

  • JavaBean property
  • field

A static final field is mapped to a XML fixed attribute.

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

The usage is subject to the following constraints:
  • If type of the field or the property is a collection type, then the collection item type must be mapped to schema simple type.
         // Examples
         @XmlAttribute List<Integer> items; //legal
         @XmlAttribute List<Bar> foo; // illegal if Bar does not map to a schema simple type
     
  • If the type of the field or the property is a non collection type, then the type of the property or field must map to a simple schema type.
         // Examples
         @XmlAttribute int foo; // legal
         @XmlAttribute Foo foo; // illegal if Foo does not map to a schema simple type
     
  • This annotation can be used with the following annotations: XmlID, XmlIDREF, XmlList, XmlSchemaType, XmlValue, XmlAttachmentRef, XmlMimeType, XmlInlineBinaryData, XmlJavaTypeAdapter
  • .

Example 1: Map a JavaBean property to an XML attribute.

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

Example 2: Map a JavaBean property to an XML attribute with anonymous type.

See Example 7 in @XmlType.

Example 3: Map a JavaBean collection property to an XML attribute.

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

 

Since:
JAXB2.0
Version:
$Revision: 1.14 $
Author:
Sekhar Vajjhala, Sun Microsystems, Inc.
See Also:
XmlType

Optional Element Summary
 String
 String
 boolean
 

abstract public String name()
XML 模式属性的名称。默认情况下,XML 模式属性名称派生自 JavaBean 属性名称。
英文文档:

name

public abstract String name
Name of the XML Schema attribute. By default, the XML Schema attribute name is derived from the JavaBean property name.

Default:
"##default"

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

required

public abstract boolean required
Specifies if the XML Schema attribute is optional or required. If true, then the JavaBean property is mapped to a XML Schema attribute that is required. Otherwise it is mapped to a XML Schema attribute that is optional.

Default:
false

abstract public String namespace()
指定 XML 模式属性的 XML 目标名称空间。
英文文档:

namespace

public abstract String namespace
Specifies the XML target namespace of the XML Schema attribute.

Default:
"##default"


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

一看就知道只有菜鸟才干这么无知的事啦。

PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!