Предположим, я пишу схему для XML-документа, в котором есть документ, описывающий фигуры на линейной игровой доске:
<piece length="5" position="4" />
где атрибуты length
и position
оба являются неотрицательными целыми числами, большими 0. Между length
и position
существует четкая связь, которая еще больше ограничивает набор значимых значений. То есть position
никогда не может быть больше length
, например. XML-фрагмент
<piece length="5" position="6" />
явно неразумно.
Мой вопрос заключается в том, есть ли способ применить это ограничение с помощью XML-схемы? Если не на языке W3C XML Schema, как насчет RELAX NG? Предположим, что то, о чем я прошу, невозможно в неограниченном случае (т. е. для любого положительного целого числа), как насчет ограниченного, конечного набора возможностей? То есть предположим, что мы говорим, что length
никогда не может быть больше четырех. Учитывая вышеупомянутое ограничение, остается только 4 возможных значения для length
. Будет ли тогда возможно выполнить то, что я хочу, даже если это означает вручную?