javax.xml.bind.annotation
注释类型 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
- 此注释可与以下注释一起使用:
XmlID
、XmlIDREF
、XmlList
、XmlSchemaType
、XmlValue
、XmlAttachmentRef
、XmlMimeType
、XmlInlineBinaryData
和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>
-
从以下版本开始:
- 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"