Preguntas de lista

En un ejemplo anterior, hemos visto un requisito para recopilar información de ingresos para las personas de una unidad familiar. A fin de recopilar sólo información de ingresos para las personas que realmente tienen ingresos, se ha añadido una pregunta a la página de Detalles de miembros de unidad familiar para indicar si la persona tiene ingresos o no.

IEG proporciona una alternativa a formular la misma pregunta booleana para varias entidades. Se puede utilizar una pregunta de lista para recopilar todas las respuestas al mismo tiempo.

Siguiendo con el ejemplo anterior donde se ha recopilado información acerca de las personas de la unidad familiar, se ha añadido el atributo hasIncome a la entidad de persona para indicar si se debe recopilar información de ingresos para la persona, como se indica a continuación:

Figura 1. Esquema Has Income Person
<xs:element name="Person">
  <xs:complexType>
    ...
    <xs:attribute name="hasIncome" type="IEG_BOOLEAN"/>

Al igual que las preguntas, las preguntas de lista se deben añadir a un clúster. Las preguntas de lista difieren en que se debe especificar el tipo de las entidades que se visualizarán en la lista. El ID de la pregunta de lista corresponde al nombre del atributo booleano que debe establecerse si el usuario selecciona un elemento en la lista. Al igual que con las preguntas, una pregunta de lista debe tener una etiqueta para indicar la finalidad de la pregunta. Las preguntas de lista también deben tener un elemento de etiqueta de elemento. La etiqueta de elemento especifica qué atributo de las entidades se debe utilizar para identificar las entidades en la lista. En el ejemplo siguiente, se visualiza el nombre de los miembros de la unidad familiar para identificarlos.

Figura 2. Pregunta de lista
<question-page id="AnyoneHaveIncome">
...
  <cluster>
    <list-question id="hasIncome" entity="Person">
      <label id="HasIncome.Label">
             <![CDATA[¿Qué personas tienen ingresos?]]>
      </label>
      <item-label>
        <label-element attribute-id="firstName"/>
      </item-label>
    </list-question>
  </cluster>
</question-page>

Así, en lugar de añadir una pregunta en el bucle donde se recopilan los detalles de miembros de la unidad familiar, una vez que se han capturado los detalles de miembros de la unidad familiar, se puede visualizar una lista que contiene los miembros de la unidad familiar. A continuación, el usurio puede seleccionar los miembros que tienen ingresos.

Las preguntas de lista son especialmente útiles cuando se utilizan conjuntamente con un bucle for-each, que hace referencia a la pregunta que se ha establecido en la pregunta de lista de la expresión de criterios del bucle. Las preguntas de lista también se pueden utilizar con los tipos de entidad distintas de Person.