XML et XSL:Nouvelles techniques de création (partie III) |
|||||||||||||
| par Xavier GERBEAUD | |||||||||||||
![]() |
Un cas concretDans une autre partie de ce site se trouve La page de l'Euro. Sur cette page, je place semaine après semaine les cours de l'Euro et du dollar, à titre informationnel et ludique! La page d'accueil calcule le prix de quelques objets de la vie courante en euro en fonction du cours actuel, une autre page enregistre le cours de l'euro depuis le lancement de ce site, une troisième enfin compare les variations relatives de l'euro et du dollar. Ces pages vont nous servir de base à une petite démonstration des possibilités offertes par XML et XSL. ConceptionFichier XMLPremière des choses à faire, s'interroger sur l'information commune à toutes ces pages. C'est elle qui devra figurer dans notre fichier XML, lequel servira de source de données lors de la production de ces pages. Qu'y-a-t-il d'important à stocker: la date de saisie, et les cours respectifs de l'euro et du dollar. Ainsi, le fichier XML incluera une succession de fragments de ce type: (...)
<cours>
<date>06/10/1998</date>
<euro>6,6140</euro>
<dollar>5,4825</dollar>
</cours>
(...)
Ce fichier XML unique servira de support à plusieurs pages, chacune faisant un usage distinct des données présentes. La page dédiée à l'euro parcourra toutes les balises <euro>; la page de comparaison euro/dollar listera quant à elle les diverses valeurs, en réalisant au passage, comme le permet XSL, le calcul des variations d'une semaine à l'autre... Fichier(s) XSLDe manière basique, la tache du fichier XSL est de parcourir toutes les entrées du fichier XML, et d'afficher celles-ci dans une table, en applicant une mise en forme simple. Le parcours des différentes "lignes" de données ne présente pas de difficulté: <rule>
<target-element type="cours"/>
<DIV background-color="yellow" color="black" padding="4px">
<select-elements>
<target-element type="date"/>
</select-elements>
-
<select-elements>
<target-element type="euro"/>
</select-elements>
-
<select-elements>
<target-element type="dollar"/>
</select-elements>
</DIV>
</rule>
La règle énoncée ci-dessus parcourt le fichier XML, sélectionne les éléments de type "cours" et associe à chacun d'eux un "contenant" HTML, en l'occurence un jeu de balises <DIV></DIV>. A l'intérieur des éléments de type cours, on cherche en outre les sous-éléments date, euro et dollar, chacun faisant l'objet, dans le fichier XSL d'un traitement spécifique. Ainsi, on pourra mettre en valeur de manière différente chaque information. Dans l'exemple ci-dessous, les éléments de type <date> sont par exemple mis en gras, alors que les cours des monnaies sont laissés tels quels: <rule>
<target-element type="date"/>
<SPAN font-weight="bold" color="black">
<children/>
</SPAN>
</rule>
<rule>
<target-element type="euro"/>
<target-element type="dollar"/>
<children/>
</rule>
Mise en oeuvreMSXSL : un parser XSLA quelques détails près, tout est vu... Il n'y a plus qu'à appuyer sur le bouton. En l'occurence, il faut un processeur XSL, c'est à dire un programme capable d'interpréter les informations contenues dans la feuille de style, et de les mettre en oeuvre. Un programme de ce type, très simple, peut être trouvé sur le site de Microsoft. Il s'agit d'un petit exécutable qui se lance en ligne de commande, depuis une session DOS. La syntaxe est la suivante: msxsl -i cours.xml -s cours.xsl -o cours.htm ... où msxsl est le nom du programme, -i (input) donne la source de données, -s (stylesheet) précise la feuille de style XSL utilisée et enfin -o (output) désigne le nom du fichier HTML généré. RésultatAvec une feuille de style aussi simple que celle que nous venons de présenter, le résultat obtenu sera assez pauvre. Mais avec quelques améliorations, nous arriverons assez vite à un produire un tableau coloré des plus convaincants!
|
||||||||||||
| 11/10/1998 | |||||||||||||
Création - copyright © 1998 Xavier GERBEAUD
http://www.gerbeaud.com/creation