Utilizando la misma pregunta de lista que se describe en Preguntas de lista, queremos recopilar información de ingresos para las personas de una unidad familiar. Vamos a utilizar un bucle de vía de acceso rápida anidado como se describe en el ejemplo siguiente:
...
<loop loop-type="for-each" entity="Person"
criteria="hasIncome==true" fast-path="true">
<loop loop-type="while" loop-expression="hasMoreIncome"
entity="Income">
<question-page id="IncomePage" entity="Income"
show-person-tabs="true">
<title id="IncomePage.Title">
<![CDATA[Detalles de ingresos]]>
</title>
<cluster>
<title id="IncomeDetails.Title">
<![CDATA[Detalles de ingresos]]>
</title>
<question id="type">
<label id="Type.Label">
<![CDATA[Tipo:]]>
</label>
</question>
<question id="amount">
<label id="Amount.Label">
<![CDATA[Importe:]]>
</label>
</question>
<question id="hasMoreIncome"
control-question="true"
control-question-type="IEG_BOOLEAN">
<label id="ContinueQuestion.Label">
<![CDATA[Does %1s have any more income?]]>
<argument id="Person.firstName" />
</label>
</question>
</cluster>
</question-page>
</loop>
</loop>
La primera vez que se encuentra la pregunta de lista, las páginas que siguen al bucle recopilarán los ingresos para las personas que se han seleccionado. A continuación, cuando se vuelva a visitar la página que contiene la pregunta de lista, puede ocurrir lo siguiente: