XSD - как я могу обеспечить существование определенного элемента с данным атрибутом? - PullRequest
2 голосов
/ 12 ноября 2008

Я пытаюсь добавить дополнительную проверку к jdpl файлам определения процесса с использованием XSD.

У нас есть пара правил, которые мы хотим добавить; но то, что вызывает у меня проблемы, - это то, что должен существовать один элемент «узел» с его атрибутом «имя» = «проблема».

так что это действительно:

<process-definition name='sample'>
    <node name="Problem">
    </node>
    <node name="Do Work">
    </node>
</process-definition>

и это не

<process-definition name='sample'>
    <node name="Do Work">
    </node>
</process-definition>

Итак, подведем итог: правила, которые мне нужно применить, следующие:

  • атрибут узла, имеющий значение «Проблема»
  • существование 1 узла с именем = "Проблема"
  • разрешить любое количество узлов с другими именами

Есть идеи?

1 Ответ

1 голос
/ 12 ноября 2008

Извините, это невозможно с XSD.

По соображениям производительности XML-схема разработана таким образом, чтобы никогда не заглядывать в будущее и никогда не заглядывать за пределы текущего узла. Это означает, что всегда нужно определять, где валидатор находится в дереве схемы. И это делает такие требования невозможными для определения с помощью XSD.

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