Remplissage des zones de texte

La ligne 6 de l'exemple 14 correspond à une zone de texte standard brut. Le mappage correspondant pourrait ressembler à ce qui suit :

<target-entity name="Applicant">
  <map-attribute from="ssn" to="SSN"/>
</target-entity>

La ligne 5 est différente. Le type est marqué comme "append". Cela signifie que la même zone de texte peut être écrite plusieurs fois, et chaque fois que le moteur de mappage écrit dans la zone de texte, le résultat est ajouté à la valeur actuelle de la zone de texte plutôt que de la remplacer. Chaque fois qu'un résultat est ajouté, les nouvelles données sont différenciées des anciennes données par l'élément append-separator, qui correspond dans ce cas à un caractère espace simple. Un fichier de mappage comme celui de l'exemple 16 associé à la configuration de mappage illustrée dans l'exemple 14 remplit la zone Applicant.Name avec le prénom, le deuxième prénom et le nom de famille (par ex. "Pat A Kayek") des demandeurs.

<target-entity name="Applicant">
  <map-attribute from="firstName" to="Name"/>
  <map-attribute from="middleInitial" to="Name"/>
  <map-attribute from="lastName" to="Name"/>
</target-entity>

L'ajout de zones de texte s'avère également utile pour créer une liste d'éléments séparés par des virgules. Prenons comme exemple une zone qui demande au client de fournir la liste des personnes enceintes dans son foyer. Voici un exemple d'extrait du code XML de mappage :

<condition expression="Person.isPregnant == true">
   <target-entity name="Pregnancy">
     <map-attribute from="firstName" to="Pregnancy"/>
     <set-attribute name="HasPregnancies" value="Yes"/>
   </target-entity>
 </condition>

La configuration de mappage correspondante est illustrée dans la figure 18. Chaque fois que le moteur de mappage traite une personne du foyer pour laquelle l'indicateur isPregnant est défini sur true, le prénom de cette personne est ajouté à la zone Pregnancy.Pregnancies.

<section name="Pregnancy">
  <field name="Pregnancies" type="button-checkbox"/>
  <field name="Pregnancy" type="append" append-separator=", "/>
</section>