Bonjour à tous ...

vous allez me dire "il y a plein de réponse à ce sujet" ... oui, mais j'en ai comprise aucune ...

donc je reprend à la base ...

j'ai un xml :

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
 
<root>
<Tresult nblevel='3'>
	<level>bas</level>
	<level>Moyen</level>
	<level>haut</level>
	<group name='truc'>
		<elem niv="2">elem1</elem>
		<elem niv="3">elem2</elem>
	</group>
	<group name='machin'>
		<elem niv="3">elem3</elem>
		<elem niv="1">elem4</elem>
	</group>
</Tresult>
</root>
et un xsl

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
21
22
23
24
25
 
<xsl:stylesheet>
<xsl:template match="Tresult">
<table>
	<tr>
		<th>name</th>
		<xsl:for-each select="level">
			<th><xsl:value-of select="."/></th>
		</xsl:for-each>
	</tr>
	<xsl:for-each select="group">
		<tr><td colspan='{../@nblevel + 1}'><xsl:value-of select="@name"/></td></tr>
		<xsl:for-each select="elem">
		<tr>
			<td><xsl:value-of select="."/></td>
			<!-- En attente de mieux -->
                        <td></td>
			<td>X</td>
			<td></td> 
		</tr>
		</xsl:for-each>
	</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
pour le moment, le seul élément qui n'est pas gérer c'est le "niveau" de l’élément ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<elem niv="3">elem2</elem>
qui doit correspondre à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 <td>elem2</td> + ( <td></td> ) * 2  + <td>X</td>
mais je ne sais pas comment le gérer ( sachant que le "niv" est limité à 3 par la déclaration "nblevel" du tableau )

quelqu'un à une idée ?