Extensible Stylesheet Language Transformations

XSLT
XSL Transformations
Caractéristiques
Extensions
.xsl, .xsltVoir et modifier les données sur Wikidata
Type MIME
application/xslt+xml, text/xslVoir et modifier les données sur Wikidata
Développé par
Version initiale
Voir et modifier les données sur Wikidata
Type de format
Langage de feuille de style
Basé sur
Extensible Markup LanguageVoir et modifier les données sur Wikidata
Norme

1.0 (Recommandation du 16 novembre 1999),
2.0 (Recommandation du 23 janvier 2007),

3.0 (Recommandation du 8 juin 2017)
Sites web
www.w3.org/TR/xslt
www.w3.org/TR/xslt20
www.w3.org/standards/xml/transformationVoir et modifier les données sur Wikidata

modifier - modifier le code - modifier WikidataDocumentation du modèle

XSLT (eXtensible Stylesheet Language Transformations), défini au sein de la recommandation XSL du W3C, est un langage de transformation XML de type fonctionnel. Il permet notamment de transformer un document XML dans un autre format, tel PDF ou encore HTML pour être affiché comme une page web.

Description

Les flux d'une transformation XSLT.

L'objectif principal est la transformation d'un document XML vers un autre schema ou format (XHTML, XSL-FO, HTML, etc.). Cependant, le langage XSLT permet aussi les transformations vers tout autre type de document, au format texte ou dans un format binaire (bien que ceci ne soit pas nativement prévu par la recommandation XSLT). Étant donné deux entrées, un document XML à transformer et un document XSLT, un analyseur XSLT (XSLT processor) produit un fichier de sortie au format désiré.

XSLT s'appuie sur XPath (une autre partie de la recommandation XSL) pour désigner une partie d'un arbre XML. En pratique, le langage XSLT est lui-même exprimé sous forme de document XML :

<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>

<xsl:template match="person">
    <name username="{@username}">
       <xsl:value-of select="name" />
    </name>
</xsl:template>

</xsl:stylesheet>

L'une de ses principales particularités est d'être centré sur les données. Un XSLT doit s'appuyer sur un XML, c'est un couple obligatoire, et on ne peut créer en XSLT que des boucles parcourant des données sélectionnées par XPath.

Exemple

Fichier XML d'entrée

<?xml version="1.0" ?>
<persons>
  <person username="JS1">
    <name>John</name>
    <family-name>Smith</family-name>
  </person>
  <person username="MI1">
    <name>Morka</name>
    <family-name>Ismincius</family-name>
  </person>
</persons>
+

Feuille de style XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="yes"/>
 
  <xsl:template match="/persons">
    <root>
      <xsl:apply-templates select="person"/>
    </root>
  </xsl:template>
 
  <xsl:template match="person">
    <name username="{@username}">
      <xsl:value-of select="name" />
    </name>
  </xsl:template>
</xsl:stylesheet>

Fichier XML résultat

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <name username="JS1">John</name>
  <name username="MI1">Morka</name>
</root>

Implémentations d'analyseurs XSLT

  • AltovaXML : par Altova, implémentation de XSLT 1.0 et XSLT 2.0
  • DIXml : une bibliothèque Delphi
  • Gestalt : par Colin Paul Adams, implémentation en Eiffel de XSLT 2.0
  • Libxslt (en) : par GNOME, implémentation en C de XSLT 1.0; l'utilitaire en ligne de commande xsltproc l'utilise.
  • MSXML DOM : par Microsoft pour une utilisation en DCOM sous Windows et donc accessible aux langages de script tel vbScript et jScript
  • php_xsl.dll : inclus depuis PHP 5[1]
  • QuiXSLT : par Innovimax et INRIA en Java pour XSLT 3.0 avec Streaming[2]
  • Saxon XSLT (en) : par Michael Kay, Saxon existe en Java et .Net pour XSLT 2.0 et 3.0 (avec validation de XML Schema)
  • System.Xml.Xsl : en parallèle par Microsoft et Novell pour les différentes implémentation du Framework .NET
  • Xalan : par la fondation Apache, existe en Java, C et Perl et gère XSLT 1.0

Voir aussi

Articles connexes

Références

  1. « PHP: XSL - Manual », sur php.net
  2. « QuiXSLT »,

Liens externes

Sur les autres projets Wikimedia :

  • Extensible Stylesheet Language Transformations, sur Wikimedia Commons
  • Extensible Stylesheet Language Transformations, sur Wikibooks
  • (en) La recommandation W3C XSLT 1.0 du 16 novembre 1999
    • (fr) Traduction française de la recommandation
  • (en) La recommandation W3C XSLT 2.0 du 23 janvier 2007
  • (en) La recommandation W3C XSLT 3.0 du 8 juin 2017
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail du Web sémantique