Атрибут XSD Verify установлен только для одного элемента - PullRequest
0 голосов
/ 27 марта 2020

У меня есть уже существующий XML, для которого я пишу XSD. Соответствующий раздел в основном:

<color a='1' default='true'>Red</foo>
<color a='2'>Yellow</foo>
<color a='3'>Blue</foo>

Я хочу проверить, что только один из foo элементов имеет атрибут default='true'. Обратите внимание, что другие элементы могут иметь либо default='false', либо не иметь его вообще (в этом случае значение по умолчанию равно false).

Я пытался использовать ключ, но он не работает в приведенном выше примере поскольку существует несколько default='false' значений, которые не являются уникальными.

Можно ли выполнить такую ​​проверку с помощью XSD 1.0?

(я не могу изменить формат XML, к сожалению.)

1 Ответ

0 голосов
/ 31 марта 2020

Можно ли выполнить такую ​​проверку с помощью XSD 1.0?

Нет. Я подозреваю, что XSD 1.1 мог бы сделать это, но 1.0 определенно не может.

...