Используя проверку схемы XSD 1.0, я хочу проверить, что элемент имеет хотя бы один указанный атрибут.
Например, такой простой элемент:
<foo a="1" b="2" c="3" />
Я хочу убедиться, что указан хотя бы атрибут b
или c
. Но обратите внимание, что можно указать и то, и другое — они не исключают друг друга.
Я попытался использовать ключ по строкам:
<xs:key name="AttributeSpecified">
<xs:selector xpath="." />
<xs:field xpath="@b|@c" />
</xs:key>
но он терпит неудачу, когда указаны оба атрибута (поскольку возвращается несколько результатов).
Можно ли это сделать?