Le langage XSL
Choisir avec le XSL

Home

Choisir avec le XSL

La balise <xsl:if> ... </xsl:if> permet d'effectuer un choix dans les données du fichier XML. On ajoutera l'attribut match où l'on indique l'élément choisi. Ce qui en résumé donne :

    <xsl:if match=".[balise='xxx']">
    balises Html
    </xsl:if>


 

Elaboration du fichier

Reprenons notre fichier XML (inchangé).

<?xml version="1.0"?> <compilation>
<mp3>
<titre>Foule sentimentale</titre>
<artiste>Alain Souchon</artiste> </mp3>
<mp3>
<titre>Solaar pleure</titre> <artiste>MC Solaar</artiste> </mp3>
<mp3>
<titre>Le baiser</titre> <artiste>Alain Souchon</artiste> </mp3>
<mp3>
<titre>Pourtant</titre>
<artiste>Vanessa Paradis</artiste> </mp3>
<mp3>
<titre>Chambre avec vue</titre> <artiste>Henri Salvador</artiste> </mp3>
</compilation>

Voir le fichier xml (IE 5 et +).

Passons maintenant au fichier XSL

Nous allons reprendre dans notre compilation de mp3 en XML que le(s) titre(s) de Vanessa Paradis.

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="1" cellspacing="0" cellpadding="3">
<tr bgcolor="#FFFF00">
<td>Titre</td>
<td>Artiste</td>
</tr>
<xsl:for-each select="compilation/mp3">
<xsl:if match=".[artiste='Vanessa Paradis']">
<tr>
<td><xsl:value-of select="titre"/></td>
<td><xsl:value-of select="artiste"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

On enregistre le fichier sous le nom xsl_if avec l'extension .xsl. Voir le fichier xsl (IE 5 +).

On revient au fichier XML et on y ajoute la balise pour y associer le fichier XSL.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl_if.xsl"?>
<compilation>
<mp3>
<titre>Foule sentimentale</titre>
<artiste>Alain Souchon</artiste>
</mp3>
etc...

Et voilà notre fichier avec uniquement le titre de Vanessa Paradis.

Que vous pouvez voir en direct [le fichier pas Vanessa Paradis]. Voir le fichier xml + xsl (IE 5 et +).