绑定 XMLPattern
本节描述 JAXB 使用的默认 XML 到 Java 绑定。通过使用自定义绑定声明,所有这些绑定都可以全局或逐个覆盖。有关默认 JAXB 绑定的完整信息,请参见JAXB Specification。
简单类型定义
使用简单类型定义的 Pattern 组件通常绑定到 Java 属性。由于存在各种类型的架构组件,因此以下 Java 属性属性(与架构组件相同)包括:
-
Base type
-
集合类型(如果有)
-
Predicate
其余的 Java 属性属性在架构组件中使用simple
类型定义指定。
默认数据类型绑定
以下各节说明默认的 Pattern 到 Java,JAXBElement
和 Java 到 Pattern 的数据类型绑定。
Schema-to-Java Mapping
与 XMLPattern 相比,Java 语言提供了更丰富的数据类型集。下表提供了 JAXB 中 XML 数据类型到 Java 数据类型的 Map。
表:XMLPattern 内置数据类型的 JAXBMap
XMLPattern 类型 | Java 数据类型 |
---|---|
xsd:string |
java\.lang\.String |
xsd:integer |
java\.math\.BigInteger |
xsd:int |
int |
xsd\.long |
long |
xsd:short |
short |
xsd:decimal |
java\.math\.BigDecimal |
xsd:float |
float |
xsd:double |
double |
xsd:boolean |
boolean |
xsd:byte |
byte |
xsd:QName |
javax\.xml\.namespace\.QName |
xsd:dateTime |
javax\.xml\.datatype\.XMLGregorianCalendar |
xsd:base64Binary |
byte\[\] |
xsd:hexBinary |
byte\[\] |
xsd:unsignedInt |
long |
xsd:unsignedShort |
int |
xsd:unsignedByte |
short |
xsd:time |
javax\.xml\.datatype\.XMLGregorianCalendar |
xsd:date |
javax\.xml\.datatype\.XMLGregorianCalendar |
xsd:g |
javax\.xml\.datatype\.XMLGregorianCalendar |
xsd:anySimpleType |
java\.lang\.Object |
xsd:anySimpleType |
java\.lang\.String |
xsd:duration |
javax\.xml\.datatype\.Duration |
xsd:NOTATION |
javax\.xml\.namespace\.QName |
JAXBElement Object
当无法通过派生的 XML 内容的 Java 表示来推断 XML 元素信息时,将提供JAXBElement
对象。该对象具有获取和设置对象名称和对象值的方法。
Java-to-Schema Mapping
下表显示了 Java 类到 XML 数据类型的默认 Map。
表:XML 数据类型到 Java 类的 JAXBMap
Java Class | XML 数据类型 |
---|---|
java\.lang\.String |
xs:string |
java\.math\.BigInteger |
xs:integer |
java\.math\.BigDecimal |
xs:decimal |
java\.util\.Calendar |
xs:dateTime |
java\.util\.Date |
xs:dateTime |
javax\.xml\.namespace\.QName |
xs:QName |
java\.net\.URI |
xs:string |
javax\.xml\.datatype\.XMLGregorianCalendar |
xs:anySimpleType |
javax\.xml\.datatype\.Duration |
xs:duration |
java\.lang\.Object |
xs:anyType |
java\.awt\.Image |
xs:base64Binary |
javax\.activation\.DataHandler |
xs:base64Binary |
javax\.xml\.transform\.Source |
xs:base64Binary |
java\.util\.UUID |
xs:string |