Я хочу, чтобы иметь возможность проверять атрибут в элементе на основе значения другого атрибута. Что-то вроде этого.XML Schema - проверка одного атрибута на основе значения другого
<Root>
<Vehicle type="Unicycle" numWheels="1" />
<Vehicle type="Bicycle" numWheels="2" />
</Root>
Требование было бы, что если типы транспортных средств является «Моноцикл», то numWheels должен быть 1. В противном случае я не волнует, сколько колес у него есть.
У меня есть что-то подобное в качестве отправной точки для типа, где я хочу наложить ограничение.
<!-- Number of Wheels restrictions -->
<xsd:simpleType name="NumberOfWheelsType">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
Должен признаться, я не совсем уверен, с чего начать создавать ограничение, которое я хочу, поэтому любое руководство будет оценено по достоинству.
Я использую xmllint для проверки схемы, которая, как я думаю, ограничит меня XML-схемой 1.0 (исправьте меня, если я ошибаюсь, потому что я не могу доказать это так или иначе).
Я скорее пришел к выводу, что мне может потребоваться перейти к XSD 1.1. Предполагая, что я могу это сделать, что мне нужно для достижения своей цели? – Nerdio
Ищите информацию об утверждениях в XSD 1.1. –