пропустить проверку XSD для определенных элементов на основе содержимого другого элемента в Java - PullRequest
0 голосов
/ 18 марта 2019

В xsd у меня есть элементы, подобные ниже, где требуется город, zip должен быть не пустым.

<addresses>
    <address>
      <name>abc</name>
      <address>skip</Address>
       ....
      <city/>
      <zip/>
    </address>
</addresses>

, но в определенных случаях, например, если содержимое элемента address пропущено, я не хочу city, zip toбыть подтвержденным.Каков вариант для достижения этой Java или на уровне XSD.

1 Ответ

1 голос
/ 18 марта 2019

Вы, вероятно, должны сформулировать свои требования не с точки зрения пропуска проверки, а скорее с требованием вхождения или типа в зависимости от условий.Обычно «пропуск проверки» обрабатывается xs:any, но на самом деле это не то, что вам нужно.

XSD 1.0 не может выразить ограничения, в которых появление элемента зависит от значения других элементов.Вам понадобится XSD 1.1 для этого.Например, см. Требуется элемент XML в XSD, когда другой элемент имеет определенное значение?

...