Привет, у меня есть xml, как это:
<xml><fullname>
<name attrib="true"/>
<lastname1 attrib="false"/>
<lastname2 attrib="false"/></fullname></xml>
Мне нужно создать схему для проверки ее таким образом, чтобы она позволяла только 1 атрибуту со значением «true» (а остальные должны быть ложными [атрибут attrib определен как xs: boolean]) , поэтому я добавил уникальную проверку в полное имя элемента следующим образом:
<xs:unique name="attribcheck">
<xs:selector xpath="name|lastname1|lastname2"/>
<xs:field xpath="@attrib"/>
Конечно, он обнаружит, что есть дублированное «true», но также он обнаружит дублированное «false».
Кто-нибудь знает, есть ли способ установить ограничение на какое значение, чтобы применить уникальное ограничение? это означает, что я могу гарантировать, что только один из них является «истинным» в любой момент времени