2013-09-03 3 views
1

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

Я пробовал следующее ограничение, но это неверно.

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> 
+0

показать содержимое xml также .. пожалуйста –

ответ

2

Сравните значение в отношении значений "слот", но за исключением текущего контроля:.

нет (= (../../ промо-слотов/слот за исключением.))

Привет

Джез

+0

Не знаю * точно * что здесь происходит, но он работает! –

+1

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

Смежные вопросы