[XSLT] Problème de regroupement
Bonjour,
Voici le xml ke j'utilise:
Code:
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
|
<service_list>
<service type="département">
<nomService>Direction</nomService>
<sous_service>Souservice1</sous_service>
<poste>
<nomPoste>Poste1</nomPoste>
<affectation />
<connaissance type="Savoir-Faire">SF1</connaissance>
<connaissance type="Savoir-Faire">SF2</connaissance>
<connaissance type="Savoir-Faire">SF3</connaissance>
<connaissance type="Savoir-Etre">SE1</connaissance>
<connaissance type="Savoir">S1</connaissance>
</poste>
<poste>
<nomPoste>Poste2</nomPoste>
<affectation />
<connaissance type="Savoir">S1</connaissance>
<connaissance type="Savoir-Faire">SF3</connaissance>
<connaissance type="Savoir-Faire">SF4</connaissance>
<connaissance type="Savoir-Etre">SE1</connaissance>
<connaissance type="Savoir">S2</connaissance>
</poste>
</service>
</service_list> |
J'aimerais regrouper dans un tableau pour chaque poste, les types de connaissances:Exemple:
Poste1 :
Savoir-Faire: SF1
SF2
SF3
...
Poste2:
Savoir : S1
S2
Savoir-Faire: SF3
SF4
...
J'ai donc ecrit ce xslt:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<xsl:key name="group-by-type" match="connaissance" use="@type" />
......
<xsl:for-each select="connaissance[generate-id() = generate-id(key('group-by-type', @type)[1])]">
<xsl:sort select="@type" />
<tr>
<td><b><xsl:value-of select="@type" /></b></td>
<td>
<xsl:for-each select="key('group-by-type', @type)">
<li><xsl:value-of select="@type" /></li>
</xsl:for-each>
</td>
</tr>
</xsl:for-each> |
J'obtiens quleque chose de ce genre
Poste1 :
Savoir-Faire: SF1
SF2
SF3
SF3
SF4
Savoir : S1
S2
...
Poste2:
...
Quelqu'un pourrait-il m'aider?