что эквивалентно 'sequence' в схеме xsd (но без упорядочения) - PullRequest
4 голосов
/ 20 марта 2012

У меня есть несколько типов с последовательностью внутри, которая ограничивает порядок дочерних элементов.Я хочу снять эти ограничения заказа.Какой элемент я должен выбрать, предполагая, что я не могу (или не хочу) изменить определение дочерних элементов?Например, если бы я изменил с <xs:choise maxOccurs="unbounded">, это не будет полным эквивалентом <xs:sequence>, потому что некоторые дочерние элементы, которые первоначально должны были появиться только один раз, могли бы появиться сейчас несколько раз.И наоборот, я не могу использовать xs:all, так как теперь у меня будет ограничение на максимальное количество элементов (не более 1).

Итак, есть ли простое и быстрое решение?(сделать как можно меньше изменений в схеме)

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Короткий ответ: ты не можешь.

Можно было бы определить тип для каждой комбинации возможных последовательностей узлов, а затем заключить их в, но это было бы слегка смешно.

0 голосов
/ 30 июля 2013

Вы можете обернуть <sequence> в <choice>.

<choice>
  <sequence>
    <!-- list your choices here -->
  </sequence>
</choice>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...