34.5. unions


概述

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

在 XML Schema 中定义

XML Schema unions 使用 simpleType 元素进行定义。它们至少包含一个联合 元素,用于定义该标头的成员类型。提取的成员类型是可存储在联合实例中的有效数据类型。它们使用 union 元素的 memberTypes 属性来定义。memberTypes 属性的值包含一个或多个定义的简单类型名称的列表。例 34.13 “简单联合类型” 显示可存储整数或字符串的联合定义。

例 34.13. 简单联合类型

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

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

例 34.14. Union with 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>

映射到 Java

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.