34.5. unions


概述

在 XML 架构中,联合是一个构造,它允许您描述类型,其数据可以是多个简单类型之一。例如,您可以定义一个类型,其值为整数 1,或 首先 定义字符串。unions 映射到 Java StringString。

在 XML 架构中定义

XML 架构表示法通过 simpleType 元素来定义。它们至少包含一个 用来定义 成员类型的联合元素。冲突的成员类型是有效的数据类型,可以存储在联合实例的实例中。它们使用 union 元素的 memberTypes 属性来定义。memberTypes 属性的值包含一个或多个定义的简单类型名称列表。例 34.13 “简单联合类型” 显示可以存储整数或字符串的联合定义。

例 34.13. 简单联合类型

<simpleType name="orderNumUnion">
  <union memberTypes="xsd:string xsd:int" />
</simpleType>

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

例 34.14. Union(Aonymous Member Type)

<simpleType name="restrictedOrderNumUnion">
  <union memberTypes="xsd:string">
    <simpleType>
      <restriction base="xsd:int">
        <minInclusive value="1" />
        <maxInclusive value="10" />
      </restriction>
    </simpleType>
  </union>
</simpleType>

映射到 Java

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部