35.5.4. 元素出现冲突限制

概述

您可以使用 elementminOccurs 属性和 maxOccurs 属性指定复杂类型中特定元素的多次。两个属性的默认值都是 1

minOccurs 设置为 0

当您将复杂类型的 member 元素的 minOccurs 属性设置为 0 时,@XmlElement 注解会改变对应的 Java 成员变量。@XmlElement 注释的 required 属性设置为 false,而不是将其 required 属性设置为 true

minOccurs 设置为大于 1 的值

在 XML 架构中,您可以通过将元素的 minOccurs 属性设置为大于一来,指定元素的 minOccurs 属性必须在类型的实例中多次发生。但是,生成的 Java 类不支持 XML 架构约束。Apache CXF 生成支持 Java 成员变量,就像未设置 minOccurs 属性一样。

带有 maxOccurs 集的元素

当希望一个成员元素在复杂类型的实例中显示多次时,您要将元素的 maxOccurs 属性设置为值大于 1。您可以将 maxOccurs 属性的值设置为 unbound,以指定 member 元素可能会显示为无限次数。

代码生成器将 maxOccurs 属性设为值大于 1 的成员元素映射到 List<T > 对象的 Java 成员变量。列表中的基础类由将元素类型映射到 Java 来确定。对于 XML 架构原语类型,使用打包程序类,如 “打包程序类”一节 所述。例如,如果 member 元素类型为 xsd:int,则生成的 member 变量是一个 List<Integer> 对象。