Любой язык схемы для XML, который позволяет указывать ограничения как циклические ссылки? - PullRequest
2 голосов
/ 28 января 2009

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

В качестве примера игрушки:

<animal name="A" eats="B">
<animal name="B" eats="C">
<animal name="C" eats="D">

подтвердит, но

<animal name="A" eats="B">
<animal name="B" eats="C">
<animal name="C" eats="D">
<animal name="D" eats="A">

не подтвердит.

Ответы [ 2 ]

2 голосов
/ 28 января 2009

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

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

1 голос
/ 28 января 2009

Вы можете использовать schematron, а затем опубликовать тот же вопрос, что и проблема xslt / xpath.

...