En informatique , le terme Extensible Stylesheet Language ( XSL ) est utilisé pour désigner une famille de langages utilisés pour transformer et restituer des documents XML .
Historiquement, le groupe de travail XSL du W3C a produit un projet de spécification sous le nom de « XSL », qui s'est finalement divisé en trois parties :
- Transformation XSL ( XSLT ) : un langage XML pour transformer des documents XML
- Objets de formatage XSL ( XSL-FO ) : un langage XML permettant de spécifier le formatage visuel d'un document XML
- XML Path Language ( XPath ) : un langage non XML utilisé par XSLT, et également disponible pour une utilisation dans des contextes non XSLT, pour adresser les parties d'un document XML.
Par conséquent, le terme « XSL » est désormais utilisé avec plusieurs significations différentes :
- Parfois, il fait référence à XSLT : il est préférable d'éviter cette utilisation. Cependant, « xsl » est utilisé à la fois comme préfixe d'espace de noms conventionnel pour l'espace de noms XSLT et comme suffixe de nom de fichier conventionnel pour les fichiers contenant des modules de feuille de style XSLT
- Parfois, il fait référence à XSL-FO : cet usage peut être justifié par le fait que la spécification XSL-FO porte le titre Extensible Stylesheet Language (XSL) ; cependant, le terme XSL-FO est moins susceptible d'être mal compris
- Parfois, il fait référence aux deux langues considérées ensemble, ou au groupe de travail qui a développé les deux langues.
- Parfois, en particulier dans le monde Microsoft, il fait référence à une variante désormais obsolète de XSLT développée et livrée par Microsoft dans le cadre de MSXML avant la finalisation de la spécification W3C.
Histoire
XSL a commencé comme une tentative d'apporter les fonctionnalités de DSSSL , en particulier dans le domaine de l'impression et de la composition haut de gamme , à XML.
En réponse à une proposition d'Arbortext, Inso et Microsoft, un groupe de travail du W3C sur XSL a commencé à fonctionner en décembre 1997, avec Sharon Adler et Steve Zilles comme coprésidents, James Clark comme rédacteur (et officieusement comme concepteur en chef) et Chris Lilley comme contact du personnel du W3C. Le groupe a publié un premier projet de travail public le 18 août 1998. XSLT et XPath sont devenus des recommandations du W3C le 16 novembre 1999 et XSL-FO a atteint le statut de recommandation le 15 octobre 2001.
La famille XSL
Transformations XSL
La version originale de XSLT (1.0) a été publiée en novembre 1999 et a été largement implémentée. Certaines des premières implémentations sont tombées en désuétude, mais les implémentations notables activement utilisées en 2023 incluent celles intégrées dans les navigateurs Web courants , ainsi que RaptorXML d' Altova , libxslt , Saxon , l' implémentation Microsoft .NET System.Xml.Xsl et Xalan qui est intégré dans la JVM Oracle . Ces produits ont tous un niveau élevé de conformité à la spécification, bien qu'ils offrent également des extensions de fournisseurs propriétaires, et certains d'entre eux omettent la prise en charge de fonctionnalités facultatives telles que la désactivation de l'échappement de sortie.
Les versions ultérieures de XSLT incluent XSLT 2.0 (janvier 2007) et XSLT 3.0 (juin 2017) ; une version 4.0 est en cours de développement. Ces versions n'ont pas été aussi largement implémentées que la 1.0 : les principales implémentations largement utilisées en 2023 sont Saxon (disponible en plusieurs versions pour différentes plateformes, y compris les navigateurs Web) et RaptorXML d' Altova .
Objets de formatage XSL
La prise en charge des objets de formatage XSL est disponible dans un certain nombre de produits :
- le package XEP de RenderX prend en charge presque à 100 % XSL-FO 1.0
- XSLFormatter d'Antenna House prend également en charge à près de 100 % la spécification XSL-FO 1.0 et prend en charge à 100 % toutes les nouvelles fonctionnalités de la spécification XSL-FO 1.1
- XINC de Lunasil offre un support important pour la spécification XSL-FO 1.0
- FOP du projet Apache peut restituer une partie de la spécification des objets de formatage XSL 1.0 au format PDF
- Le serveur de moteur de formatage XML2PDF d'AltSoft prend en charge à près de 100 % XSL-FO 1.1
Ces produits prennent en charge la sortie dans un certain nombre de formats de fichiers , à des degrés divers :
XPath
Le langage XML Path ( XPath ), qui fait lui-même partie de la famille XSL, fonctionne au sein de XSLT comme un moyen de naviguer dans un document XML.
Un autre projet du W3C , XQuery , vise à fournir des fonctionnalités similaires pour interroger des documents XML à l'aide de XPath .