Expressions XPath pour la production de rapports de données
Dans notre article précédent, intitulé : Utilisez les expressions XPath pour affiner la sélection des données, Nous avons expliqué comment utiliser XMLSpy pour créer une expression XPath permettant de sélectionner une table de données spécifique contenue dans un ensemble de données beaucoup plus vaste, fourni par le ministère américain de l'Éducation.

Nous pouvons réutiliser le travail effectué dans XMLSpy pour créer rapidement une maquette StyleVision pour un rapport ou un formulaire électronique, afin de mettre en évidence les informations importantes issues des données. Nous pouvons commencer par une maquette simple dans StyleVision, basée sur le schéma XML gradData et le fichier XML que nous avons créés dans XMLSpy. Étant donné que nous avons enregistré les paramètres finaux de notre graphique dans XMLSpy, nous pouvons également recharger la maquette du graphique dans StyleVision.

Nous utiliserons l'expression XPath /data/set[@setnum="FOS"] développée dans XMLSpy à deux endroits pour sélectionner uniquement l'une des tables contenues dans le fichier XML plus volumineux. Cette expression ne correspondra qu'aux éléments /data/set dont l'attribut setnum est égal à "FOS" : set setnum="FOS".
Tout d'abord, nous utiliserons une expression pour définir la sortie conditionnelle de l'élément de description. Chaque tableau individuel comprend une description qui pourra servir de titre pour un graphique. Vous pouvez saisir l'expression XPath dans la fenêtre d'aide des propriétés pour définir la condition.

L'expression devient alors visible lorsque le curseur survole la condition :

Nous utiliserons également l'expression XPath dans la fenêtre de paramètres du graphique pour sélectionner les lignes de données à afficher

Ces deux exemples ont généré le code HTML qui produit le résultat affiché dans la première image en haut de l'article.
Une expression XPath combinée à une liste déroulante permet de définir le choix de l'utilisateur
Nous pouvons convertir ce rapport en un format interactif Authentic Pour créer un formulaire électronique, nous pouvons utiliser un élément XML comme variable dans l'expression XPath, au lieu d'utiliser la chaîne de caractères codée en dur "FOS". Nous pouvons ensuite permettre à l'utilisateur de définir le contenu de cet élément XML via une liste déroulante.
Pour mettre en œuvre cette fonctionnalité, nous allons insérer un deuxième fichier XML fonctionnel qui permettra de stocker temporairement la sélection de l'utilisateur. Ce fichier est affiché ci-dessous dans les fenêtres "Vue d'ensemble de la conception StyleVision" et "Arbre de schéma".

Nous pouvons insérer la liste déroulante en haut du formulaire, au-dessus de la description et du graphique.

StyleVision offre plusieurs façons de définir le comportement des listes déroulantes. Nous utiliserons une liste d'éléments visibles, chacun associé à une valeur XML correspondante.

La liste déroulante attribuera une valeur XML au champ "chart" dans le fichier "userselections.xml", que nous pourrons ensuite comparer à l'attribut "setnum" dans le fichier "gradData.xml".
Ensuite, nous devons modifier les deux expressions XPath. La nouvelle expression XPath pour la condition associée à la description est :
../@setnum=$XML2/userchoice/chart
comme indiqué ci-dessous dans la fenêtre des propriétés.

L'expression XPath mise à jour pour les données du graphique est la suivante : $XML/data/set[@setnum=$XML2/userchoice/chart]/row
visible ci-dessous dans la fenêtre de configuration du graphique.

StyleVision comprend un éditeur d'expressions XPath auquel vous pouvez accéder en cliquant sur le bouton "modifier" situé à côté de chaque expression XPath mentionnée ci-dessus. L'éditeur d'expressions XPath propose un mode "constructeur" et un mode "évaluateur" pour faciliter la création d'expressions XPath 1.0 et XPath 2.0. Le mode "constructeur" offre une vérification syntaxique en temps réel et une fonction de complétion automatique pour améliorer l'efficacité. L'éditeur XPath est affiché en format réduit ci-dessous :

Une fois que nous avons redimensionné la liste déroulante pour qu'elle s'adapte à l'entrée la plus large, le formulaire électronique apparaît ainsi :

La liste déroulante permet à l'utilisateur de sélectionner n'importe quel autre graphique

La valeur XML de la nouvelle sélection remplace le contenu de <chart> élément dans le fichier userselections.xml, et les deux expressions XPath génèrent de nouveaux résultats :

Cliquez ici pour télécharger une version d'essai gratuite du logiciel Altova MissionKit... notamment XMLSpy, MapForce et StyleVision, et commencez à utiliser XPath pour affiner vos propres sélections de données !