Bonsoir,
Je bloc sur du XPATH : Je désire avoir les chemins des différents dossier des images (sans doublon).

Voila le fichier XML concerné :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...

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