XSD-проверка значений атрибутов по сравнению с другими атрибутами элементов

У меня есть файл XML:

<tasks>
    <task name="task-12">
        <step>Open folder</step>
        <step nextTask="task-14">Delete contents.</step>
    </task>
    <task name="task-13">
        <step nextTask="task-16">Create new folder folder</step>
    </task>
    <task name="task-14">
        <step>Move files into folder.</step>
    </task>
</tasks>

Как мне указать в XSD, что значение step/@nextTask допустимо только в том случае, если оно соответствует значению task/@name.

т. е. в приведенном выше примере шаг task-13 будет считаться недействительным?


person twilson    schedule 09.08.2011    source источник


Ответы (1)


Самый простой способ: объявить атрибут задачи name типом xsd:ID, а атрибут шага nextTask типом xsd:IDREF.

person xcut    schedule 09.08.2011