[Noob][XSL] Comment faire ceci ??
Bonjour a tous et a toutes,
voici mon problème je voudrais afficher des liens dans un ordre bien précis (grâce au N° contenu dans col[7]) et trier ceux ci par groupe (grâce au nom de groupe contenu dans col[8]) , afin de rassembler les liens d'un meme groupe entre eux et de les afficher selon un ordre défini par col[7].
Pour mieux comprendre voici une partie de mon .XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<functions>
<header>
<col name="FCT_ID"/>
<col name="MODULE_ID"/>
<col name="FUNCTION"/>
<col name="DISPLAY"/>
<col name="LINK"/>
<col name="HELP_URL"/>
<col name="MENU_ORDER"/>
<col name="MENU_GROUP"/>
</header>
<row>
<col>10</col>
<col>1</col>
<col>Outsourcer Informations</col>
<col>1</col>
<col>UOData.html</col>
<col></col>
<col>9</col>
<col>Outsourcer</col>
</row> |
Pour ce faire j'ai crée la code suivant :
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
<xsl:for-each select="row">
<xsl:sort select="col[7]" data-type="number" order="ascending"/>
<xsl:sort select="col[8]" data-type="text" order="ascending"/>
<xsl:if test="col[4] != 0">
<xsl:if test="col[8] != 0">
<table border="0" cellpadding="0" cellspacing="0" width="168">
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
<tr>
<td class="group"><xsl:value-of select="col[8]"/></td>
</tr>
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="168">
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
<tr>
<td><xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text><A href="{col[5]}" target="main"><xsl:value-of select="col[3]"/></A></td>
</tr>
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
</table>
</xsl:if>
<xsl:if test="col[8] = 0">
<table border="0" cellpadding="0" cellspacing="0" width="168">
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
<tr>
<td><A href="{col[5]}" target="main"><xsl:value-of select="col[3]"/></A></td>
</tr>
<tr>
<td background="decoTd.gif" height="1" width="3"></td>
</tr>
</table>
</xsl:if>
</xsl:if>
</xsl:for-each> |
Et j'obtien en sortie ceci :
Citation:
groupe1
NomLien1 du Groupe1
groupe1
NomLien2 du Groupe1
groupe1
NomLien3 du Groupe1
groupe2
NomLien1 du Groupe2
groupe2
NomLien2 du Groupe2
...
groupeN
NomLien1 du GroupeN
Et je voudrais obtenir ceci :
Citation:
groupe1
NomLien1 du Groupe1
NomLien2 du Groupe1
NomLien3 du Groupe1
groupe2
NomLien1 du Groupe2
NomLien2 du Groupe2
...
groupeN
NomLien1 du GroupeN
Comment puis je faire cela, je suis un peu perdu, je m'embrouille dans mon for-each.
Merci de votre aide a tous, :wink: