Systèmes de communication
Quelques détails sur XSLT (3)
Une feuille "XSLT" fourni un template de transformation pour toute
une classe de documents XML. Elle est principalement constituée de règles
de transformation (éléments "xsl:template") indiquant
comment chaque élément du document XML source se transforme en
un élément du document XML cible.

Un exemple
Document source |
Elément XSL |
Document cible |
<nom>Torvald</nom> |
<xsl:value-of select="."/> |
Torvald |
<adresse>
<nom>Torvald</nom>
</adresse> |
<xsl:template match="adresse">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="nom">
<xsl:value-of select="."/>
</xsl:template>
|
<p>Torvald</p> |
|
|
|
Quelques éléments de base
Eléments "top-level"
- xsl:strip-space / xsl:preserve-space : indique que les espaces doivent
être supprimés / préservés
- xsl:output : création d'une entête <!doctype ...>
- xsl:variable : création d'une variable
- xsl:template : création d'une règle de transformation
Eléments intérieurs
- xsl:apply-templates : enclenche le moteur sur l'élément courant
- xsl:call-template : appelle une règle de transformation
- xsl:for-each : répétition
- xsl:value-of : renvoie le texte contenu dans l'élément (sans
les balises)
- xsl:copy-of : renvoie le contenu d'un élément (avec les balise)
- xsl:number : renvoie un nombre
- xsl:choose : sélection
- xsl:if : exécution conditionnelle
- xsl:text : inclu un texte
- xsl:include-text : inclu un texte contenu dans un fichier
- xsl:attribute : fabrique un attribut
- xsl:element : fabrique un élément
- xsl:time : renvoie la date
Ordre de déclenchement des règles
Pour un arbre XML source S, la transformation suit l'algorithme suivant:
Au démarrage transf s'applique au document complet à partir de
sa racine notée "/".
[ Un usage
pratique ]
