Correspondance et transformation de données XML avec des caractères génériques dans MapForce
MapForce 2014 prend désormais en charge la cartographie des caractères génériques XML, ce qui permet de créer un mécanisme d'extension intégré pour les schémas XML, implémenté sous la forme de xs:any ou xs:anyAttribute.
Considérez ce fragment XML, visualisé dans XMLSpy :

Cette petite portion d'un fichier très volumineux présente deux points de parcours enregistrés lors d'un voyage en voiture par un appareil GPS Garmin. Les données XML suivent le schéma XML GPX, avec des extensions Garmin qui ajoutent des valeurs de vitesse et de direction. La correspondance de caractères génériques XML vous permet de mapper ces extensions dans MapForce, tout comme vous le feriez avec tout autre élément défini explicitement dans le schéma XML.
Supposons que nous voulions lire le fichier .gpx et extraire la vitesse maximale enregistrée pour un trajet
!--plus--
Nous pouvons commencer une nouvelle conception de mappage dans MapForce en utilisant un fichier .gpx comme composant d'entrée. MapForce affiche une vue de tous les éléments définis dans le schéma XML correspondant et disponibles pour le mappage. La capture d'écran ci-dessous montre la partie du schéma XML relative aux points de tracé :

La latitude, la longitude, l'altitude et l'heure apparaissent immédiatement après l'élément "trkpt" et définissent les données contenues dans le fragment XML. Les éléments suivants, allant de la variation magnétique ("magvar") à l'identifiant de la station DGPS ("dgpsid"), sont tous facultatifs et ne figurent pas dans le fichier de données Garmin.
Les éléments relatifs à la vitesse et à la trajectoire ne sont pas définis dans ce schéma XML. Au lieu de cela, la vitesse et la trajectoire sont autorisées grâce à l'élément xs:any situé en bas de l'image. Cliquer sur l'icône à côté de xs:any ouvre une boîte de dialogue qui permet d'importer un autre schéma XML définissant les extensions, et de créer un conteneur pour combiner le schéma XML original et les extensions. Après l'importation, les nouveaux éléments sont affichés dans le composant source et peuvent être mappés :

Tri des données dans la cartographie
Les fichiers d'exemple installés avec MapForce incluent une transformation appelée FindHighestTemperatures.mfd, que nous pouvons utiliser comme exemple pour extraire la vitesse maximale de notre fichier, en utilisant une fonction de tri :

Cette fonction trie toutes les valeurs de vitesse, de la plus élevée à la plus faible, puis ne transmet que la première valeur pour l'affichage. La clé de tri affichée "Z-A" trie automatiquement les données numériques de la valeur la plus élevée à la valeur la plus faible.
Conversion des valeurs dans la correspondance
Enfin, il faut convertir la vitesse de mètres par seconde en miles par heure, arrondir le résultat à deux décimales, et ajouter un texte descriptif :

Le résultat de la fonction de concaténation de chaînes de caractères présentée ci-dessus est écrit dans le fichier texte de sortie :

Notez que nous n'avons pas eu à convertir explicitement la vitesse d'un type de données numérique vers une chaîne de caractères lors du passage d'une fonction à une autre. MapForce gère automatiquement la conversion des types de données. Voici une vue simplifiée de la totalité de la transformation, avec des annotations des principales opérations :

Cliquez sur l'image ou cliquez ici pour afficher une version en taille réelle.
Le site web d'Altova propose une formation en ligne gratuite pour MapForce. Vous pouvez même télécharger une version d'essai gratuite de MapForce et commencer dès aujourd'hui à améliorer vos compétences en matière de modélisation et de transformation de données !