XSLT 2.0, le transformateur de fichiers XML

La seconde version de XSLT affine les types de données pris en compte, et augmente le nombre de formats en sortie. Explications.
Il aura tenu sept ans. Sept années de bons et loyaux services au cours desquelles XSLT (eXtended Stylesheet Language Transformations) aura contribué au développement du web. Car ce langage de transformation des documents XML est au coeur des standards technologiques définis par le W3C. Il autorise, notamment, l'automatisation de la présentation de documents HTML à partir de documents XML, ou encore la transformation d'un document XML pour qu'il n'affiche que les seules informations correspondant à une requête particulière.
Des évolutions largement liées à celles de XPath
Le consortium W3C est sur le point de figer la seconde version de XSLT sous la forme d'une recommandation. Le premier grand changement concerne son évolution conjointe avec XPath 2.0. Rappelons que XSLT s'appuie sur ce langage de requêtes pour désigner une partie d'un arbre XML. Les modifications apportées à XPath ont donc un impact sur XSLT. Notamment un typage plus fort des données, avec la prise en compte de 15 nouvelles expressions, tels les dates ou les URI (Uniform Resource Identifier). Le fait que XPath prenne en compte XML Schema contribue à cette amélioration.
Avec XSLT 2.0, il devient également plus facile de travailler sur un groupe de noeuds. Ce terme générique désigne les différents objets que l'on rencontre à l'intérieur d'un fichier XML, comme les balises, les éléments textuels, ou les attributs. Enfin, il est désormais possible non seulement d'exporter des documents au format XHTML, mais aussi de produire plusieurs arbres résultats à partir d'un seul arbre source. Ce mécanisme facilite l'industrialisation de la transformation des fichiers XML.
![]() |
Cliquez ici pour agrandir l'image |
1. Le document XML d'origine ![]()
XSLT 2.0 traite les documents XML v.1.0 et 1.1. Dans cet exemple, il liste la population de plusieurs villes européennes. La transformation XSLT vise à classer cette liste, puis à la présenter sous la forme d'un tableau comportant quatre colonnes : le numéro de la ligne du tableau ; le nom du pays ; les villes du pays (séparées par une virgule, le cas échéant) ; et la somme des populations des villes du pays concerné.
2. La feuille de style XSLT ![]()
La feuille de style contient un ensemble de règles modèles. Une règle modèle se divise en trois parties : un motif (ou pattern), qui sert à identifier des noeuds de l'arbre source ; un paramètre de modèle, qui peut être instancié pour constituer une partie de l'arbre résultat ; et, éventuellement, un constructeur de séquences, qui se charge, en quelque sorte, d'ordonnancer les traitements. A noter que chaque règle débute par la balise XSL. Suit une instruction - par exemple, xsl:value-of select -, qui aide à sélectionner le contenu d'un élément. Ainsi, xsl:value-of select= « @country » sert à sélectionner le pays.
3. Le document résultat ![]()
Le document résultant de la transformation XSLT a pour objectif de présenter les données sous un autre format - HTML, XHTML (X pour eXtensible), ou SVG (Scalable Vector Graphics) -, ou de restituer un nouveau document XML après lui avoir fait subir des traitements. C'est le cas ici : le tableau créé au format XML présente les données par pays.
/http%3A%2F%2Fwww.01net.com%2Fimages%2F101058.jpg.res_270-236.jpg)
/http%3A%2F%2Fwww.01net.com%2Fimg%2Faffiner_rec.gif)