XSD"一个或两个"选择构造导致模糊的内容模型

lox*_*lox 17 xsd

我试图创建一个简单的XSD选择构造,允许两个引用元素中的一个或两个,但不是没有.该构造类似于下面,但我不断得到歧义错误.我错过了什么?

<xs:schema xmlns:xs="...">
  <xs:element name="Number" type="xs:integer"/>
  <xs:element name="Text" type="xs:string"/>
  <xs:element name="RootStructure">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:sequence>
            <xs:element ref="Number"/>
            <xs:element ref="Text"/>
          </xs:sequence>
          <xs:element ref="Number"/>
          <xs:element ref="Text"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

xcu*_*cut 32

通常的方法是:

<xs:schema xmlns:xs="...">
  <xs:element name="Number" type="xs:integer"/>
  <xs:element name="Text" type="xs:string"/>
  <xs:element name="RootStructure">
    <xs:complexType>
      <xs:sequence>
        <xs:choice>
          <xs:sequence>
            <xs:element ref="Number"/>
            <xs:element ref="Text" minOccurs="0"/>
          </xs:sequence>
          <xs:element ref="Text"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)