XML-схема для ограничения появления элемента на основе значения другого элемента - PullRequest
1 голос
/ 20 сентября 2011

Можно ли определить схему XML, которая ограничивает вхождение одного или нескольких элементов на основе значения другого элемента?

Например, в приведенном ниже XML-коде, когда элемент TYPE имеет значение «A», тогда может быть только один элемент ITEM_TYPE_1, но не менее двух элементов ITEM_TYPE_2.

<ROOT>
    <TYPE>A</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
    <ITEM_TYPE_2 />
</ROOT>

И наоборот, когда элемент TYPE имеет значение «B», тогда должно быть не менее двух элементов ITEM_TYPE_1, но только один элемент ITEM_TYPE_2.

<ROOT>
    <TYPE>B</TYPE>
    <ITEM_TYPE_1 />
    <ITEM_TYPE_1 />
    <ITEM_TYPE_2 />
</ROOT>

Не уверен, что я пытаюсь сделать что-то, с чем XML Schema не может справиться или нет, поэтому обратная связь приветствуется.

1 Ответ

2 голосов
/ 26 сентября 2011

Нет, XML Schema 1.0 не поддерживает такие ограничения, когда существует зависимость от значений элемента или атрибута.Схема XML 1.1 пока не получила широкого распространения, но поддерживает ограничения по значению с помощью утверждений .

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