Top Qs
Chronologie
Chat
Contexte

Extensible Stylesheet Language Transformations

langage informatique de transformation XML de type fonctionnel De Wikipédia, l'encyclopédie libre

Extensible Stylesheet Language Transformations
Remove ads

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.

Faits en bref Extensions, Type MIME ...
Remove ads
Remove ads

Description

Résumé
Contexte
Thumb
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.

Remove ads

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>
Remove ads

Implémentations d'analyseurs XSLT

Voir aussi

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads