“任意数量的这些元素 - 以任何顺序”的 XML 模式构造

问题描述 投票:0回答:2

我需要创建一个如下所示的 XML 模式:

<xs:element name="wrapperElement">
<xs:complexType>
    <xs:sequence>
        <xs:element type="el1">
        <xs:element type="el2">
    </xs:sequence>

    <xs:WhatGoesHere?>
        <xs:element type="el3"> 
        <xs:element type="el4">
        <xs:element type="el5">
    </xs:WhatGoesHere?>

    <xs:sequence>
        <xs:element type="el6">
        <xs:element type="el7">
    </xs:sequence>
</xs:complexType>
</xs:element>

我需要的是“WhatGoesHere”的替代品,以便任意数量的 el3、el4 和 el5 可以以任意顺序出现。例如它可以包含 {el3, el3, el5, el3}

知道如何解决这个问题吗?

xml xsd schema
2个回答
13
投票

您想要

xs:choice
具有出现约束:

<xs:element name="wrapperElement">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="e11"/>
      <xs:element name="el2"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="el3"/>
        <xs:element name="el4"/>
        <xs:element name="el5"/>
      </xs:choice>
      <xs:element name="el6"/>
      <xs:element name="el7"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

-2
投票

创建这样的架构的好主意。您可以在这里查看

© www.soinside.com 2019 - 2024. All rights reserved.