Système d'arborescence XML/XSLT
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.
Code:
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> |
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:
1 2 3 4 5 6 7
| - aaa kkkk
- bbb
- ccc zzzz
- ddd yyyy
- eee
-fff
-ggg wwww |
avec le décalage qui sera fait en fonction du niveau. Le code suivant me donnais seulement les items de premier niveau :
Code:
1 2 3 4
| <xsl:template match="item">
- <xsl:value-of select="@nom" />
<xsl:value-of select="@attribut2" />
</xsl:template> |
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).
J'espère avoir été assez clair. Merci pour votre aide !