第 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" /><element name="finned" type="xsd:boolean" nillable="true" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其
minOccurs属性的element元素设为0,其maxOccurs属性设为1,或其maxOccurs属性未指定,如下所示:<element name="plane" type="xsd:string" minOccurs="0" />
<element name="plane" type="xsd:string" minOccurs="0" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用属性设置为可选属性或未指定的attribute元素,也没有指定其默认属性及其固定属性:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
表 34.2 “原语架构类型到 Java Wrapper Class Mapping” 演示了 XML 架构制语类型如何在这些情形中被映射到 Java 打包程序类。
| 模式类型 | Java 类型 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|