绑定 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:stringjava\.lang\.String
xsd:integerjava\.math\.BigInteger
xsd:intint
xsd\.longlong
xsd:shortshort
xsd:decimaljava\.math\.BigDecimal
xsd:floatfloat
xsd:doubledouble
xsd:booleanboolean
xsd:bytebyte
xsd:QNamejavax\.xml\.namespace\.QName
xsd:dateTimejavax\.xml\.datatype\.XMLGregorianCalendar
xsd:base64Binarybyte\[\]
xsd:hexBinarybyte\[\]
xsd:unsignedIntlong
xsd:unsignedShortint
xsd:unsignedByteshort
xsd:timejavax\.xml\.datatype\.XMLGregorianCalendar
xsd:datejavax\.xml\.datatype\.XMLGregorianCalendar
xsd:gjavax\.xml\.datatype\.XMLGregorianCalendar
xsd:anySimpleTypejava\.lang\.Object
xsd:anySimpleTypejava\.lang\.String
xsd:durationjavax\.xml\.datatype\.Duration
xsd:NOTATIONjavax\.xml\.namespace\.QName

JAXBElement Object

当无法通过派生的 XML 内容的 Java 表示来推断 XML 元素信息时,将提供JAXBElement对象。该对象具有获取和设置对象名称和对象值的方法。

Java-to-Schema Mapping

下表显示了 Java 类到 XML 数据类型的默认 Map。

表:XML 数据类型到 Java 类的 JAXBMap

Java ClassXML 数据类型
java\.lang\.Stringxs:string
java\.math\.BigIntegerxs:integer
java\.math\.BigDecimalxs:decimal
java\.util\.Calendarxs:dateTime
java\.util\.Datexs:dateTime
javax\.xml\.namespace\.QNamexs:QName
java\.net\.URIxs:string
javax\.xml\.datatype\.XMLGregorianCalendarxs:anySimpleType
javax\.xml\.datatype\.Durationxs:duration
java\.lang\.Objectxs:anyType
java\.awt\.Imagexs:base64Binary
javax\.activation\.DataHandlerxs:base64Binary
javax\.xml\.transform\.Sourcexs:base64Binary
java\.util\.UUIDxs:string