Accueil

Exemples XSLT

Afficher plein écran
 
Emmanuel Lazinier
Création de la page : 2000-09-08

Eliminer des doublons (XSLT 1.0)

On se propose de faire disparaître de l'affichage d'un fichier XML des valeurs identiques. Le même principe pourrait évidemment être utilisé pour épurer un fichier XML de ses doublons.

Soit le fichier XML suivant :

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="doublons.xsl"?>
<doc>
<objet attribut="3"/>
<objet attribut="5"/>
<objet attribut="3"/>
<objet attribut="2"/>
<objet attribut="3"/>
<objet attribut="1"/>
<objet attribut="3"/>
<objet attribut="2"/>
<objet attribut="3"/>
</doc>

 
On se propose d'afficher dans un tableau l'ensemble des valeurs des attributs des éléments objet en les classant par valeurs croissantes et en éliminant les doublons.

La feuille de transformation sera la suivante :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="ISO-8859-1"/>

<xsl:template match="doc">
<html>
<body>
<table border="1">
<xsl:for-each select="objet[not(@attribut = preceding-sibling::objet/@attribut)]">
 <xsl:sort order="ascending" data-type="number" select="@attribut"/>
 <tr><td><xsl:value-of select="@attribut"/></td></tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

On obtiendra l'affichage suivant :

1
2
3
5
Voir/Télécharger les fichiers de l'exemple :


Contribuez ! Faites-nous profiter de vos exemples les plus significatifs.

Retour à la page d'accueil.