Orbeon добавляет уникальное ограничение для повторяющейся сетки

Учитывая, что у меня есть форма Orbeon с повторяющейся сеткой / элементом с именем Promo-slots с одним элементом управления слотом, есть ли способ добавить ограничение, чтобы каждый слот имеет уникальное значение?

Я пробовал следовать ограничению, но оно недействительно.

count(/form/promo-slots/slot[text() = .]) = 1

Вот определение экземпляра XForm

<xf:instance id="fr-form-instance">
<form>
    <id/>
    <title/>                       
    <promo-slots>
        <slot/>
        <slot/>
        <slot/>
        <slot/>
    </promo-slots>
</form>
</xf:instance>

person Ayub Malik    schedule 03.09.2013    source источник
comment
покажите также содержимое xml .. пожалуйста   -  person Arup Rakshit    schedule 03.09.2013


Ответы (1)


Сравните значение со значениями "слота", но кроме текущего элемента управления:

not (. = (../../promo-slots/slot except.))

С Уважением

Jez

person Jez    schedule 03.09.2013
comment
'../../promo-slots/slot' - это xpath для возврата всех элементов слота (.. meams поднимается на один уровень; вы также можете использовать полностью выровненный путь, т.е. / form / promo-slots / slot , но ../../{repeat-name}/{element-name} работает везде, где бы вы ни находились). 'Кроме .' удаляет текущий элемент из списка, иначе вы всегда будете сравнивать элемент сам с собой. - person Jez; 03.09.2013