Condición en bucle Fast Path

Cuando se define una condición dentro de un bucle Fast Path, éste se comportará igual que cuando se utiliza un criterio en el bucle en lugar de anidar una condición, con la excepción siguiente: si la condición es verdadera, la página contenida en la condición no se puede visualizar porque el bucle no tiene una nueva iteración que mostrar y, por lo tanto, se omite. Si la condición es falsa, la página y los datos asociados no se suprimirán porque la condición no se vuelve a evaluar. Por lo tanto, se recomienda utilizar un criterio en el bucle en lugar de una condición.

Figura 1. Ejemplo de condición en código de bucle Fast Path
...
<loop loop-type="for-each" entity="Person"
  fast-path="true">
  <condition expression="Person.hasIncome==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[¿Tiene %1s más ingresos?]]>
              <argument id="Person.firstName" />
            </label>
          </question>
        </cluster>
      </question-page>
    </loop>
  </condition>
</loop>