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