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: