34.3. Enumerations
概述 复制链接链接已复制到粘贴板!
					在 XML Schema 中,枚举的类型是使用 xsd:enumeration facet 定义的简单类型。与 atomic 简单类型不同,它们映射到 Java 枚举。
				
在 XML Schema 中定义枚举类型 复制链接链接已复制到粘贴板!
					 Enumerations 是使用 xsd:enumeration facet 的简单类型。每个 xsd:enumeration facet 为枚举类型定义一个可能的值。
				
例 34.5 “XML 架构定义枚举” 显示枚举的类型的定义。它有以下可能的值:
- 
							
big - 
							
大 - 
							
mungo - 
							
gargantuan 
例 34.5. XML 架构定义枚举
映射到 Java 复制链接链接已复制到粘贴板!
					 XML Schema enumerations,其中基本类型为 xsd:string 会自动映射到 Java enum 类型。您可以使用 第 38.4 节 “自定义枚举映射” 中描述的自定义来指示代码生成器与其他基本类型的枚举映射到 Java enum 类型。
				
					enum 类型创建如下:
				
类型的名称取自简单类型定义的
name属性并转换为 Java 标识符。通常,这意味着将 XML 架构名称的第一个字符转换为大写字母。如果 XML 架构名称的第一个字符是无效字符,则名称前将加上下划线(
_)。对于每个
枚举的问题,会根据value属性的值生成一个枚举常量。常数的名称通过将值中的所有小写字母转换为等效的大写来派生。
- 生成构造器,它将获取从枚举的基本类型映射的 Java 类型。
 生成了一个名为
value ()的公共方法来访问由类型实例代表的 facet 值。value ()方法的返回类型是 XML Schema 类型的基本类型。生成了一个名为
fromValue ()的公共方法,以根据 facet 值创建 enum 类型的实例。value ()方法的参数类型是 XML Schema 类型的基本类型。- 
							类使用 
@XmlEnum注释进行解码。 
					例 34.5 “XML 架构定义枚举” 中定义的枚举类型映射到 例 34.6 “为 String Bases XML Schema Enumeration 生成 Enumerated Type” 中显示的 enum 类型。
				
例 34.6. 为 String Bases XML Schema Enumeration 生成 Enumerated Type