xml схема - группа замещения с одним элементом появляется не более одного раза - PullRequest
0 голосов
/ 07 июня 2018

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

<links>
    <linktype1 id="1" />
    <linktype3 id="2" />
    <linktype2 id="3" />
    <linktypespecific id="4" />
    <linktype3 id="5" />
</links>

Я хочу разрешить любое количество linktype1, linktype2, linktype3 в любом порядке, но тип ссылки может появляться в любом месте внутри ссылок, но не более одного раза.

В настоящее время я реализовалвсе типы с группой подстановки, но это не позволяет ограничить количество типов, связанных с типом ссылки.

Возможно ли вообще реализовать это с помощью XML-схемы?

1 Ответ

0 голосов
/ 07 июня 2018

Я не думаю, что это возможно в XSD 1.0.

Вы можете сделать это в XSD 1.1 с помощью xs: любая модель содержимого, в которой перечислены разрешенные элементы, с помощью выражений maxOccurs для определения частоты появления каждого из них..

Вы не можете сделать это с группами замещения - если элемент находится в группе замещения, он полностью взаимозаменяем с заголовком группы замещения.Однако (в XSD 1.1) вы можете использовать группу подстановки плюс утверждение, чтобы ограничить количество элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...