Bonjour à tous !
Je cherche depuis un petit moment à résoudre un problème. Je fait donc appel à vous. L'objectif est de transformer un fichier XML vers un fichier HTML gràce à XSL. Je bute sur un point particulier, j'essaye de construire une sorte d'arborescence. Voila à quoi ressemble mon fichier xml.
Le nombre d'enfants et sous enfants n'est pas fixe. L'attribut attribut2 n'est disponible que si l'élément ne possède pas d'enfant. Et voila ce que je cherche à faire en HTML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <item nom="aaa" attribut2="kkkk"/> <item nom="bbb"> <item nom="ccc" attribut2="zzzz" /> <item nom="ddd" attribut2="yyyy" /> </item <item nom="eee"> <item nom="fff"> <item nom="ggg" attribut2="wwww" /> </item> </item>
avec le décalage qui sera fait en fonction du niveau. Le code suivant me donnais seulement les items de premier niveau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 - aaa kkkk - bbb - ccc zzzz - ddd yyyy - eee -fff -ggg wwww
J'ai essayé d'y ajouter un <xsl:for-each select="child::*"> mais que le niveau suivant apparaissait et l'ordre des éléments était inversé (le "père" resortait après ses enfants).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <xsl:template match="item"> - <xsl:value-of select="@nom" /> <xsl:value-of select="@attribut2" /> </xsl:template>
J'espère avoir été assez clair. Merci pour votre aide !
Partager