De l'Aleph à l'@ > L'Informatique > Langages > XSLT

XSLT

XSLT signifie EXtensible Stylesheet Language Transformations, soit Transformations du langage de feuilles de styles extensible.
L'objectif de XSLT est de construire, à partir d'un document XML, un nouveau document XML ne contenant que des instructions de formatage. Les arbres issus d'une transformation sont des arbres HTML ou des arbres d'objets de formatage, selon la recommandation XSL. Ces arbres ne contiennent plus de sémantique de données, il ne contiennent que de la sémantique de présentation.
Pour ce faire, le langage est basé sur des sélections d'objets typés (xsl:apply-templates) auxquels on applique une transformation (xsl:template) ; la transformation par défaut copie la source vers la cible.
Plus précisément, c'est à partir de la racine (/) du document d'entrée que sont effectuées des sélections. Par exemple, si le document d'entrée est un ensemble de lettres commerciales, la transformation suivante fournira une liste de tous les titres et auteurs des lettres contenues :





La sélection d'objets typés est réalisée en utilisant le langage XPath, initialement conçu pour ce seul besoin.

Le vocabulaire d'XSLT permet de :
- créer de nouveaux éléments dans la cible (xsl:element, xsl:attribute, xsl:attribute-set) ;
- générer du texte (xsl:text) ou des sous-arbres issus de la source (xsl:copy) ;
- effectuer des tests (xsl:if) et, plus généralement, des traitements conditionnés par des choix (xsl:choose) ;
- déclarer des variables (xsl:variable et xsl:param). À noter que les notions de variables globales n'existent pas, du fait de la volonté de définir un langage 'context-free' où l'on n'a pas besoin de connaître l'état de toute la spécification pour appliquer un changement local ;
- se déclarer des listes d'objets identifiés (xsl:key) qui seront ensuite utilisables dans les transformations (key) ;
- réaliser des boucles (xsl:for-each), triées si nécessaires (xsl:sort) ;
- modulariser les feuilles de styles en différents fichiers (xsl:import et xsl:include) ou en modules de traitement factorisés (xsl:call-template, xsl:with-param) ;
- contrôler le type d'écriture de la sortie (xsl:output, xsl:strip-space, xsl:preserve-space) ;
...

À ce vocabulaire sont ajoutés, outres les fonctions de XPath, un certain nombre de nouvelles fonctions permettant, d'une part, de mieux sélectionner et, d'autre part, de mieux contrôler le contenu de l'arbre cible.
Pour conclure, ce qui manque de façon la plus cruciale à XSLT est ce qui sera ajouté dans la version 1.1 de la recommandation : la possibilité de créer plusieurs arbres à partir d'une même source et la prise en compte de XML Base pour mieux contrôler les URI définies dans les cibles.


Logo de la date de modification 01/05/2021 Logo du nombre de vues 848 vues

Bookmark and Share


Cet élément est cité dans les 3 articles suivants :

L'Informatique : FOSI, XPath, XSL


Cliquez ici pour envoyer un messageVous en savez plus !
Si vous avez d'autres informations, des corrections à apporter à cette page, n'hésitez pas !
Cliquez ici, et envoyez moi vos informations.

La page Facebook du site :
Page FaceBook du site De l'Aleph à l'@

La page Twitter du site :
Suivre le site De l'Aleph à l'@ sur Twitter

CSS Valide !