Importation d’un fichier XML et création des actions associées

De MappingDoc

Présentation / Objectif

Ce module vous propose de créer automatiquement la liste des tables, la liste des actions nécessaires au parcours du fichier XML mais aussi la création des blocs Write pour la création du spool de sortie.

Veuillez noter que cette procédure n’est possible qu’à partir de la version 2.0.3.2 de MapReport.

Procédure

Lorsque vous ajoutez une action READ_XML, vous avez le choix entre soit ne créer que l’action en elle-même en spécifiant le fichier et l’alias, où soit créer l’action avec la liste des actions associées.

La première étape consiste à choisir le fichier de type XML à importer.

Une fois le fichier choisi, une nouvelle fenêtre s’ouvre contenant plusieurs groupes d’informations.

Tout d’abord, la partie gauche de la fenêtre contient toute l’arborescence de l’arbre XML. Il est donc possible de naviguer assez rapidement dans l’arbre via cette fenêtre.

[CAPTURE D'ECRAN]

LES FONCTIONS DE RECHERCHE DE NOEUD

La partie supérieure de la fenêtre contient les principales fonctions de navigation dans l’arbre.

Un moteur de recherche a été conçu pour pouvoir accéder plus rapidement à l’information souhaitée. L’utilisateur peut donc choisir un mot (ou une partie du mot) correspondant soit au nom d’un nœud soit à la valeur d’un nœud ou la valeur d’un de ses attributs.

Si la recherche donne plusieurs résultats, il est possible de les parcourir un à un en cliquant plusieurs fois sur le bouton Chercher (et non en cliquant dans la liste des résultats – cf partie suivante)

Le bouton « Liste des nœuds » référence la liste des nœuds uniques que contient le fichier XML. Cette liste est utile dans le cas où le fichier XML est peu connu par l’utilisateur. Cette recherche revient à faire une recherche par nom de nœud.

Il est donc possible de choisir un nœud parmi cette liste et l’action « OK » étend l’arbre jusqu’à trouver le nœud choisi.

LA LISTE DES NŒUDS

Cette liste a plusieurs utilités. Tout d’abord, elle référence la liste des nœuds dont le nom est identique à celui de la sélection en cours sur l’arbre. Dans l’exemple ci-dessous, l’utilisateur vient de cliquer sur le nom « adsml:Identifier » et la liste nous montre tous les nœuds « adsml:identifier » de l’arbre.

Cette liste permet de parcourir rapidement les instances de chaque nœud et visualiser s’ils ont les mêmes attributs et les mêmes nœuds fils.

De plus, si deux nœuds ont le même nom et qu’ils sont placés au même endroit dans l’arbre, alors on ajoute des crochets pour les différencier. Cela permet également de voir où ajouter les identifiants de boucle dans la requête Xpath (cf partie sortie).

Cette liste permet également d’afficher le résultat d’une recherche. Mais un clic dans cette vue annule la recherche et affiche la liste des nœuds sur lequel on vient de cliquer.

LES CARACTERISTIQUES DES NŒUDS

La partie suivante permet de visualiser toutes les caractéristiques du nœud en cours. Il existe plusieurs types de caractéristiques :

  • La valeur du nœud
  • Les attributs
  • Les nœuds fils
  • Les listes de nœud fils (noté « Child List »)

Chacun des ces éléments est précédé d’une case à cocher. Ceci permet de sélectionner les éléments qui seront utilisés dans le spool de sortie.

L’ARBRE DE SORTIE

Une fois que l’utilisateur a sélectionné un nœud et coché les éléments qu’il souhaite en sortie, une vue lui permet d’avoir le récapitulatif de ces informations. Cela lui permet également de modifier les valeurs comme le nom du champ, sa longueur, son type ou encore sa description. Attention, la longueur par défaut est la longueur de la valeur de l’élément en cours. Il n’y a pas de parcours global pour trouver la taille maximale de l’élément.

Pour valider et entrer le nœud dans l’arbre de sortie, l’utilisateur doit cliquer sur le bouton central symbolisé par deux inférieurs. Le nœud apparait comme nœud fils du nœud précédemment sélectionné. Il est donc important de choisir le nœud père avant toute sélection d’un nouveau nœud au risque de perdre les informations sélectionnées de ce nouvel élément.

A noter qu’il est toujours possible de changer les caractéristiques des champs après avoir valider le nœud.

De plus, lors la validation du nœud, une requête Xpath apparait contenant les informations sélectionnées ainsi que le chemin complet. Il est également possible d’ajouter l’identifiant de boucle qui permet de différencier les nœuds fils identiques.

Ainsi, l’arbre final correspond à l’identique à celui qui sera créé dans la vue principale de MapReport.

LA CREATION DES BLOCS D’ECRITURE

Après avoir validé, il est possible de créer automatiquement les blocs d’écriture.

Cette fenêtre permet de choisir la position des champs dans les blocs Write. Cette option ne permet pas de choisir la position de chacun des éléments mais permet d’avoir un aperçu global du spool de sortie.

Trois modes d’insertion sont proposés :

  • En colonne où les champs apparaitront les uns en dessous des autres

Cette vue vous propose également de choisir la position des champs par rapport à l’axe vertical mais aussi d’ajouter les descriptions, le nom de la table ainsi que les noms des champs.

  • En ligne où les champs apparaitront les uns à coté des autres

Il y a possibilité d’ajouter un séparateur entre chaque champ où d’aligner les champs sur les colonnes des dizaines en fonction de leurs longueurs. Cette vue propose également d’ajouter un second bloc write contenant la description ou le nom des champs (ceci dans le but de créer un en-tête).

  • Enfin, sous forme de fichier XML où les champs apparaitront sous forme d’attribut d’un nœud XML dont le nom de ce nœud peut être choisi.

LE RESULTAT

Chaque nœud de l’arbre final nous donne donc une table contenant toutes les informations choisies par l’utilisateur (type, nom, description). De plus, la liste des actions a également été créée en fonction de l’arborescence.