第 34 章 使用简单类型
摘要
XML Schema 简单类型是 XML 架构原语类型,如 xsd:int
,或使用 simpleType
元素定义。它们用于指定不包含任何子对象或属性的元素。它们通常映射到原生 Java 构造,不需要生成特殊类来实施它们。Enumerated simple 类型不会导致生成的代码,因为它们被映射到 Java enum
类型。
34.1. 原语类型
概述
当使用 XML Schema 原语类型定义消息部分时,生成的参数的类型映射到对应的 Java 原生类型。在映射复杂类型范围中定义的元素时,使用相同的模式。生成的字段是对应的 Java 原生类型。
映射
表 34.1 “XML Schema 原语类型到 Java 原生类型映射” 列出 XML 架构原语类型和 Java 原生类型之间的映射。
XML Schema Type | Java 类型 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[a]
对于这种类型的元素。
[b]
对于此类型的属性。
|
wrapper 类
将 XML 架构类型映射到 Java 原语类型不适用于所有可能的 XML 架构结构。一些情况要求 XML 架构原语类型映射到 Java 原语类型对应的打包程序类型。这些情况包括:
一个
元素
,它的nillable
属性设置为true
,如下所示:<element name="finned" type="xsd:boolean" nillable="true" />
一个
元素
,其minOccurs
属性设置为0,
它的maxOccurs
属性设置为1
,或者其maxOccurs
属性未指定,如下所示:<element name="plane" type="xsd:string" minOccurs="0" />
一个
attribute
元素,其use
属性设置为optional
,或未指定,且没有其默认属性及其固定
属性,如下所示:<element name="date"> <complexType> <sequence/> <attribute name="calType" type="xsd:string" use="optional" /> </complexType> </element>
表 34.2 “Primitive Schema Type to Java Wrapper Class Mapping” 展示了 XML 架构原语类型如何映射到 Java 打包程序类。
模式类型 | Java 类型 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|