|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
javax.xml.bind.annotation Annotation Type XmlValue
@Target(value={FIELD, METHOD})
支持将类映射到带有 simpleContent 的 XML 模式复杂类型或 XML 模式简单类型。
用法:
@XmlValue 注释可以与以下程序元素一起使用:
- JavaBean 属性。
- 非 static、非 transient 字段。
有关其他公共信息,请参阅 javax.xml.bind.package javadoc 中的“包规范”。
用法受到以下使用约束的限制:如果已注释的 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>
since | JAXB2.0 | |
version |
| |
See also | javax.xml.bind.annotation.XmlType |
Enables mapping a class to a XML Schema complex type with a simpleContent or a XML Schema simple type.
Usage:
The @XmlValue annotation can be used with the following program elements:
- a JavaBean property.
- non static, non transient field.
See "Package Specification" in javax.xml.bind.package javadoc for additional common information.
The usage is subject to the following usage constraints:- At most one field or property can be annotated with the @XmlValue annotation.
- @XmlValue can be used with the following
annotations:
XmlList
. However this is redundant sinceXmlList
maps a type to a simple schema type that derives by list just asXmlValue
would. - If the type of the field or property is a collection type, then the collection item type must map to a simple schema type.
- If the type of the field or property is not a collection type, then the type must map to a XML Schema simple type.
If the annotated JavaBean property is the sole class member being mapped to XML Schema construct, then the class is mapped to a simple type. If there are additional JavaBean properties (other than the JavaBean property annotated with @XmlValue annotation) that are mapped to XML attributes, then the class is mapped to a complex type with simpleContent.
Example 1: Map a class to 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>
Example 2: Map a class to XML Schema complexType with with simpleContent.
// 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>
- Since:
- JAXB2.0
- Version:
- $Revision: 1.6 $
- Author:
- Sekhar Vajjhala, Sun Microsystems, Inc.
- See Also:
XmlType
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
Submit a bug or feature
Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.
一看就知道只有菜鸟才干这么无知的事啦。PS : 未经我党受权你也可自由散发此文档。 如有任何错误请自行修正;若因此而造成任何损失请直接找人民主席,请勿与本人联系。谢谢!