XSD неограниченный список из 2 различных элементов, по крайней мере один из них, любой порядок - PullRequest
0 голосов
/ 22 апреля 2020

Кажется, это ограничение XML Схема 1.0, но я даю ему последнюю попытку.

Скажем, у меня есть

<?xml version="1.0" encoding="UTF-8"?>
<Box>
    <RedToy/>
    <BlueToy/>
</Box>

В коробке может быть {1,unbounded} игрушки.

Всегда есть хотя бы один из <RedToy/> или <BlueToy/>.

Может быть любая комбинация красного и синего.

Порядок произвольный, и поэтому существует произвольное число границ между рядами красного и рядами синего цвета, поэтому, например, этот ответ не работает:

XSD-схема для нескольких элементов XML с хотя бы одним присутствующим, в любом order

Это невозможно определить с помощью XSD 1.0, верно?

Связанный:

XML конструкция схемы для "любого одного или нескольких из эти элементы, но должны быть хотя бы один "

1 Ответ

1 голос
/ 22 апреля 2020

Я не уверен, что понял, что вы подразумеваете под "хотя бы одним из них". Вы имеете в виду (а) хотя бы один красный и хотя бы один синий или (б) хотя бы одну игрушку, которая может быть красной или синей)?

(а), я думаю, будет

( R+ B (R|B)* ) | ( B+ R (R|B)* )

(б) будет просто

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