【问题标题】:Jaxb sequence with unordered types具有无序类型的 Jaxb 序列
【发布时间】:2011-10-27 14:15:11
【问题描述】:

使用模式和 XML 文件,我正在尝试创建类型 A 的元素,该元素可以包含类型 A、B 和 C 的嵌套元素。元素类型 A、B 和 C 都是类型 X 的扩展. 所以我想创建一个元素类型的内部,并认为我可以按照我想要的任何顺序添加任何元素 A、B 或 C。只有 A 可以有嵌套元素。我喜欢这种实现方式,因为嵌套元素的顺序对我们的数据模型很重要,而且这些元素在系统中的顺序各不相同。

<A>
    <B></B>
    <B></B>
    <A>
        <B></B>
        <B></B>
        <C></C>
        <C></C>
    </A>
    <C></C>
</A>

我尝试在 XSD 文件中做一些事情以使其合法。

<xs:complexType name="A">
   <xs:complexContent>
      <xs:extension base="X" >
      <xs:sequence>
         <xs:element name="a" type="A" minOccurs="0" />
         <xs:element name="b" type="B" minOccurs="0" />
         <xs:element name="c" type="C" minOccurs="0" />
      </xs:sequence>
      </xs:extension>
      </xs:complexContent>
</xs:complexType>

我尝试让序列只包含抽象类型 X 的元素,以为我可以在 XML 文件中使用具体类型 A B 和 C,但这被标记为错误。

【问题讨论】:

    标签: collections jaxb sequence


    【解决方案1】:

    如果我正确理解您的用例,您可以使用 @XmlElementRef 注释来利用替换组的 XML 架构概念。

    更多信息

    【讨论】:

      猜你喜欢
      • 2019-02-15
      • 1970-01-01
      • 2015-05-03
      • 2020-11-19
      • 2019-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      相关资源
      最近更新 更多