Altova MapForce 2024 Enterprise Edition

Dans certains cas, il peut s'avérer nécessaire d'ajouter des variables intermédiaires au mappage pour aboutir au résultat escompté. Cet exemple illustre comment extraire des enregistrements d'un fichier XML et les trier, avec l'aide des variables intermédiaires. L'exemple est accompagné par un échantillon de mappage situé dans le chemin suivant : <Documents>\Altova\MapForce2024\MapForceExamples\Altova_Hierarchical_Sort.mfd.

sort-altHier1

Altova_Hierarchical_Sort.mfd

Ce mappage lit des données provenant d'un fichier XML de source appelé Altova_Hierarchical.xml et l'écrit dans un fichier XML cible. Comme affiché ci-dessus, le XML source contient l'information à propos d'une entreprise fictive. L'entreprise est divisée en bureaux. Les bureaux sont sous-divisés en départements, et les départements sont répartis en personnes.

 

Le composant XML cible, PersonList, contient une liste des enregistrements Person. L'item Details est censé stocker des informations concernant le bureau et le département auquel la personne appartient.

 

L'objectif est d'extraire toutes les personnes depuis le XML de source et de les trier par ordre alphabétique avec leur nom de famille. De plus, le nom du bureau et de département auquel chaque personne appartient doit être écrit dans l'item Details.

 

Pour aboutir cet objectif, cet exemple utilise les types de composant suivants :

 

1.La fonction concat. Dans ce mappage, cette fonction retourne un string dans le format Office(Department). Il prend en tant qu'entrée le nom du bureau, le nom du département et deux constantes qui donnent les crochets de début et de fin. Voir aussi Ajouter une fonction au mappage.

2.Une variable intermédiaire. Le rôle de la variable est d'apporter toutes les données concernant une personne dans le même contexte de mappage. La variable a l'effet suivant : le mappage consulte le département et le bureau de chaque personne dans le contexte de chaque personne. Autrement dit, la variable "se souvient" du nom du bureau et du département auquel appartient une personne. Sans la variable, le contexte serait incorrect, et le mappage produirait une sortie non désirée (pour plus d'informations concernant comment un mappage est exécuté, voir Mapper les règles et les stratégies). Veuillez noter que la variable copie la structure du fichier XML cible (elle utilise le même schéma XML). Cela permet de connecter le résultat de tri vers la cible, par le biais d'une connexion Copier tout. Voir aussi Utiliser des variables et Connexions Copier tout.

3.Un composant Sort, qui effectue le tri lui-même. Veuillez noter que l'entrée de clé du composant Sort est connecté à l'item Last de la variable, qui trie tous les enregistrements de personnes par leur nom de famille.

© 2018-2024 Altova GmbH