绑定 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 |