В форме XForms у меня есть раздел, который повторяется с входами внутри него. Существует раскрывающийся список, который будет заполняться в каждом повторяющемся разделе, и никакие два раскрывающихся списка не могут иметь одинаковое выбранное значение. Каждый раскрывающийся список должен иметь уникальный выбор, и если в отдельных разделах имеется дублирующийся выбор между раскрывающимися списками, они должны стать недействительными.
Это идея, которую я иду за
constraint="not(. = instance('my-instance')/repeated-section[Include everything BUT .'s parent]/dropdown)"
Пример данных экземпляра:
<repeated-section>
<input1></input1>
<input2></input2>
<dropdown></dropdown>
<input4></input4>
</repeated-section>
<repeated-section>
<input1></input1>
<input2></input2>
<dropdown></dropdown>
<input4></input4>
</repeated-section>
<repeated-section>
<input1></input1>
<input2></input2>
<dropdown></dropdown>
<input4></input4>
</repeated-section>
В основном это вопрос фильтрации XPath. Можно ли сделать то, что я спрашиваю? Я хочу сравнить текущий узел (скажем, 2-й набор в повторяющемся разделе) со всеми другими повторяющимися наборами узлов (в повторяющемся разделе 1 и 3), исключая текущий набор узлов (потому что, если вы сравниваете все, включая себя, он будет конечно, сравнивать с правдой).