[XPATh] Filtrer les chemins
Bonsoir,
Je bloc sur du XPATH ::roll: Je désire avoir les chemins des différents dossier des images (sans doublon).
Voila le fichier XML concerné :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<channel>
<images>
<item nom="Colline verdoyante" folder="wallpaper">
C:\Projet en cours\Wallpaper\wallpaper\Colline verdoyante.BMP
</item>
<item nom="Collines" folder="wallpaper">
C:\Projet en cours\Wallpaper\wallpaper\Collines.jpg
</item>
<item nom="Paysages01" folder="Paysages">
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\Paysages01.jpg
</item>
<item nom="Paysages02" folder="Paysages" >
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\Paysages02.jpg
</item>
<item nom="Neige08" folder="wallpaper">
C:\Documents and Settings\JB\Mes documents\Mes images\wallpaper\Neige08.jpg
</item>
</images>
</channel> |
Je désire récupérer :
C:\Projet en cours\Wallpaper\wallpaper\
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages\
C:\Documents and Settings\JB\Mes documents\Mes images\wallpaper\
Donc j'ai réalisé une boucle For en xsl :
Code:
1 2 3 4 5
|
<xsl:for-each select="images/item[not(@folder=preceding-sibling::item/@folder)]">
<xsl:sort select="@folder"/>
<xsl:value-of select="concat(substring-before(., concat('\',@folder,'\')), '\', @folder)"/>
</xsl:for-each> |
Mais la ca me sort juste :
C:\Documents and Settings\JB\Mes documents\Mes images\Paysages
C:\Projet en cours\Wallpaper\wallpaper
Il ne fait pas la diffèrence avec les dossiers du même nom...:oops:
Comment résoudre ce problème ?
PS: L'attribut folder correspond toujours au dossier ou est situé l'image
et nom le nom de l'image sans l'extension