Altova MapForce 2027 Basic Edition

Dans certains cas, il peut s'avérer nécessaire d'ajouter des variables intermédiaires au mappage afin d'obtenir le résultat souhaité. Cet exemple illustre comment extraire des enregistrements d'un fichier XML et les trier à l'aide de variables intermédiaires. L'exemple est accompagné d'un exemple de mappage situé à l'emplacement suivant : <Documents>\Altova\MapForce2027\MapForceExamples\Altova_Hierarchical_Sort.mfd.

sort-altHier1

Altova_Hierarchical_Sort.mfd

Ce mappage lit les données d’un fichier XML source nommé Altova_Hierarchical.xml et les écrit dans un fichier XML cible. Comme indiqué ci-dessus, le fichier XML source contient des informations sur une entreprise fictive. L’entreprise est divisée en bureaux. Les bureaux sont subdivisés en services, et les services sont à leur tour divisés en personnes.

 

Le composant XML de destination, PersonList, contient une liste d’enregistrements Person. L’élément Details est destiné à stocker des informations sur le bureau et le service auxquels appartient la personne.

 

L’objectif est d’extraire toutes les personnes du fichier XML source et de les trier par ordre alphabétique selon leur nom de famille. De plus, le nom du bureau et du service auxquels appartient chaque personne doit être écrit dans l’élément Details.

 

Pour atteindre cet objectif, cet exemple utilise les types de composants suivants :

 

1.La fonction concat. Dans ce mappage, cette fonction renvoie une chaîne au format Office(Department). Elle prend en entrée le nom du bureau, le nom du service et deux constantes qui fournissent les crochets de début et de fin. Voir aussi Ajouter une fonction dans le mappage.

2.Une variable intermédiaire. Le rôle de la variable est de regrouper toutes les données relatives à une personne dans le même contexte de mappage. La variable permet au mappage de rechercher le service et le bureau de chaque personne, dans le contexte propre à chacune d’entre elles. En d’autres termes, la variable « mémorise » le nom du bureau et du service auxquels appartient une personne. Sans cette variable, le contexte serait incorrect et le mappage produirait un résultat indésirable (pour plus d’informations sur l’exécution d’un mappage, voir Règles et stratégies de mappage). Notez que la variable reproduit la structure du fichier XML cible (elle utilise le même schéma XML). Cela permet de relier le résultat du tri à la cible, via une connexion Copier-Tout. Voir également Utiliser des variables et Connexions Copier-Tout.

3.Un composant de tri, qui effectue le tri proprement dit. Notez que l’entrée clé du composant de tri est connectée à l’élément Last de la variable, ce qui permet de trier tous les enregistrements de personnes par leur nom de famille.

© 2020-2026 Altova GmbH