How many mothers live in this household, and ask a set of questions to each mother;
How many children live in this household, and ask a set of questions to each child;
Give a treatment to each of the children.
The first repeat group (mothers) works well. When testing the second repeat group (children), the first child's info is captured, but when I enter data for the second child, the error message below popped up:
Display Condition Error: Error in calculation for /data XPath nodeset has more than one node [/data/repeat_group_children[1]/treatmentConsent[1];/data/repeat_group_children[2]/treatmentConsent[1]]; cannot convert multiple nodes to a raw value. Refine path expression to match only one node.
treatmentConsent is a question in the children repeat group- we ask if we can treat the child and if yes, we start to treat. So it triggers the treatment repeat group. And the error message disappears when I remove the treatment repeat group.
Hi Mazz, I carefully read through the page but I'm a bit lost. Is "Model Iteration inside of a Question List" the part that is related to my question? I didn't find information about have a single value in display conditions either
i don't know what your form is or where you code that's triggering the error is
but this error usually happens when you are using a function or putting your code somewhere that expects a single value.
when referencing elements inside a repeat, this can happen.
you need to use current() function
the advance functions for repeat groups explains how to use current() and parent ".."
if you are for example using a concat function with a name inside the repeat, the concat function doesn't work if you give it an element inside the repeat after you add a 2nd one. because the reference you made to the element inside the concat function is getting 2 names, instead of 1.
so if you first name is called first_name inside the repeat, you would need to use concat like this
using #form/repeat_name/first_name will return 2 first_names when you have 2 repeats, 3 when 3, etc...
that's why this type of error shows up most of the time
if you have a display condition for example first_name = 'name' then it'll be trying to use the "=" sign for a set of values on 1 side, and a single value on the other. that doesn't compute