У меня есть этот файл Xml:
<objects>
<object name="ID1" />
<object name="ID2" />
<object name="ID2" color="green" />
<object name="ID3" color="green" />
<objects>
Я хотел бы проверить это по схеме XSD, чтобы комбинация между name
и color
была уникальной в документе.
Проблема в том, что, если я использую:
<xs:unique name="UniqueObjectNameColor">
<xs:selector xpath="./object" />
<xs:field xpath="@name" />
<xs:field xpath="@color" />
</xs:unique>
... правило будет игнорировать элементы объекта
без необязательного атрибута color
. Следующее проверяется правильно, а не должно.
<object name="ID2" />
<object name="ID2" />
Не могли бы вы сказать мне, как я могу указать правило, которое обеспечивает выполнение уникальных комбинаций имени
и цвета
и, когда цвет Атрибут
отсутствует в элементе объект
, он проверяет имя
?