我可以从带有complexType选择的XSD中消除歧义吗?

时间:2019-05-03 17:53:22

标签: xsd xsd-validation xml-dtd

我试图用xsd中的DTD表示以下内容-http://dtd.worldpay.com/paymentService_v1.dtd

<!ELEMENT defend  (disputeDefence | (disputeDefence? , disputeAttachment))>

这是我对XSD的尝试

  <xs:element name="defend">
    <xs:complexType>
      <xs:choice>
        <xs:element ref="disputeDefence"/>
        <xs:sequence>
          <xs:element ref="disputeDefence" minOccurs="0"/>
          <xs:element ref="disputeAttachment"/>
        </xs:sequence>
      </xs:choice>
    </xs:complexType>
  </xs:element>

架构验证失败。

模式验证警告:元素'paymentService_v1.dtd:disputeDefence'的多个定义导致内容模型变得模棱两可。必须形成内容模型,以便在验证元素信息项序列期间,可以唯一地确定直接,间接或隐式包含在其中的粒子,以此依次尝试验证序列中的每个项,而不必检查粒子的内容或属性。该项目,并且在序列的其余部分中没有有关该项目的任何信息。

0 个答案:

没有答案