Можно ли удалить неоднозначность из XSD с выбором complexType? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь представить следующее из DTD в xsd - 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 приводит к неоднозначности модели содержимого.Модель содержимого должна быть сформирована таким образом, чтобы во время проверки последовательности элементов информации об элементе, частица, содержащаяся прямо, косвенно или неявно в ней, с помощью которой можно попытаться проверить каждый элемент в последовательности, в свою очередь, может быть однозначно определена без изучения содержимого или атрибутовэтот элемент и без какой-либо информации об элементах в оставшейся части последовательности.

...