34.5. unions


概述

在 XML Schema 中,union 是一种构造,可用于描述其数据可以是多个简单类型之一的类型。例如,您可以定义一个类型,其值为整数 1 或字符串。unions 映射到 Java Strings。

在 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>
Copy to Clipboard Toggle word wrap

除了将指定类型指定为联合的成员类型外,您还可以将匿名简单类型定义为联合的成员类型。这可以通过在 union 元素中添加匿名类型定义来完成。例 34.14 “Union with an Anonymous Member Type” 显示包含匿名成员类型的联合示例,该类型将有效整数的可能值限制为范围 1 到 10。

例 34.14. Union with an Anonymous Member Type

<simpleType name="restrictedOrderNumUnion">
  <union memberTypes="xsd:string">
    <simpleType>
      <restriction base="xsd:int">
        <minInclusive value="1" />
        <maxInclusive value="10" />
      </restriction>
    </simpleType>
  </union>
</simpleType>
Copy to Clipboard Toggle word wrap

映射到 Java

XML 架构联合类型映射到 Java String 对象。默认情况下,Apache CXF 不会验证生成的对象的内容。要使 Apache CXF 验证内容,您必须将运行时配置为使用模式验证,如 “enforcing facets”一节 所述。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat