34.5. unions
概述 复制链接链接已复制到粘贴板!
在 XML Schema 中,union 是一种构造,可用于描述其数据可以是多个简单类型之一的类型。例如,您可以定义一个类型,其值为整数 1
或字符串。unions 映射到 Java
String
s。
在 XML 架构中定义 复制链接链接已复制到粘贴板!
XML 架构 unions 使用 simpleType
元素来定义。它们至少包含一个用于定义 联合
成员类型的联合元素。联合的成员类型是可存储在联合实例中的有效数据类型。它们使用 union
元素的 memberTypes
属性来定义。memberTypes
属性的值包含一个或多个定义的简单类型名称的列表。例 34.13 “simple Union Type” 显示可存储整数或字符串的联合定义。
例 34.13. simple Union Type
<simpleType name="orderNumUnion"> <union memberTypes="xsd:string xsd:int" /> </simpleType>
<simpleType name="orderNumUnion">
<union memberTypes="xsd:string xsd:int" />
</simpleType>
除了将指定类型指定为联合的成员类型外,您还可以将匿名简单类型定义为联合的成员类型。这可以通过在 union
元素中添加匿名类型定义来完成。例 34.14 “Union with an Anonymous Member Type” 显示包含匿名成员类型的联合示例,该类型将有效整数的可能值限制为范围 1 到 10。
例 34.14. Union with an Anonymous Member Type
映射到 Java 复制链接链接已复制到粘贴板!
XML 架构联合类型映射到 Java String
对象。默认情况下,Apache CXF 不会验证生成的对象的内容。要使 Apache CXF 验证内容,您必须将运行时配置为使用模式验证,如 “enforcing facets”一节 所述。