Spécification de mappage simple

Cette spécification de mappage simple mappe une entité de personne dans le magasin de données Cúram à une entité de preuve de membre du ménage :

1 <?xml version="1.0" encoding="UTF-8"?>
2 <map xmlns="http://www.curamsoftware.com/schemas/GUMBO/Map"
3     name="TestMapping">
4    <map-entity source="Person">
5        <target-entity name="HouseholdMember" 
         id="HouseholdMemberTarget">
6            <map-attribute from="isNativeAmerican" 
             to="natAlaskOrAmerInd"/>
7            <map-attribute from="comments" to="comments"/>
8        </target-entity>
9    </map-entity>
10 </map>

La ligne 4 indique la source du mappage tandis que la ligne 5 indique la cible. Cette règle peut être paraphrasée comme suit : "Pour chaque entité Person rencontrée dans le magasin de données Cúram, créer une entité HouseholdMember correspondante". L'élément <target-entity> contient deux éléments <map-attribute> aux lignes 6 et 7.

L'élément <map-attribute> à la ligne 6 indique que l'attribut isNativeAmerican de l'entité Person est mappé à l'attribut natAlaskOrAmerInd de l'entité HouseholdMember. Les attributs ne sont pas mappés à moins qu'il n'existe un élément <map-attribute> spécifique. Voilà pourquoi la ligne 6 indique que l'attribut comments de l'entité Person est mappé à l'attribut comments de HouseholdMember.

Dans certains cas, il est nécessaire de spécifier qu'un mappage se produit uniquement selon des circonstances particulières. Par exemple, une entité HeadOfHousehold devrait uniquement être créée dans le système cible lorsque le mappage rencontre une entité Person dans le magasin de données Cúram dans lequel un indicateur isPrimaryParticipant est défini sur true. L'exemple ci-dessus peut être étendu de sorte à inclure cette règle, comme suit :

1 <?xml version="1.0" encoding="UTF-8"?>
2 <map xmlns="http://www.curamsoftware.com/schemas/GUMBO/Map"
3     name="TestMapping">
4     <map-entity source="Person">
5         <target-entity name="HouseholdMember" 
          id="HouseholdMemberTarget">
6             <map-attribute from="isNativeAmerican" 
              to="natAlaskOrAmerInd"/>
7             <map-attribute from="comments" to="comments"/>
8         </target-entity>
9     </map-entity>
10    <condition expression="Person.isPrimaryParticipant==true">
11        <target-entity name="HeadOfHousehold/>
12    </condition>
13 </map>