Bonjour a tous et a toutes,
voici mon problème,
je possède un fichier xml que voici :
qui contient des élément a afficher dans un <table>,
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <functions> <header> <col name="FCT_ID"/> <col name="MODULE_ID"/> <col name="FUNCTION"/> <col name="DISPLAY"/> <col name="LINK"/> <col name="MENU_ORDER"/> <col name="MENU_GROUP"/> </header> <row> <col>185</col> <col>8</col> <col>Lock</col> <col>1</col> <col>UOData.html</col> <col>1</col> <col>0</col> </row> <row> <col>186</col> <col>8</col> <col>Change CECU Options</col> <col>1</col> <col>UOData.html</col> <col>2</col> <col>0</col> </row> <row> <col>187</col> <col>8</col> <col>Edit User</col> <col>0</col> <col>UOData.html</col> <col>3</col> <col>User</col> </row> ..... </functions>
ceux ci peuvent etre affiché ou pas selon la valeur de col[4], si = 0 on affiche pas, si = 1 on affiche.
Ensuite si il col[4] n'est pas égale à 0, je teste si ceux si appartiènnent à un groupe de fonctions ou pas afin de les regroupé. Si col[7] = 0 pas de groupe, je les affiches donc seules, si col[7] = nomGroupe, alors je l'affiche avec son groupe.
Pour les groupe tout va très bien le seul problème c'est lorsque j'ai plusieurs fonction dont col[7] = 0, il n'affiche que la 1ere et pas les autres, meme pas dans un groupe. Par contre pour les groupes je n'ai pas de problème !!
Voici mon code, peut etre comprendrez vous pourquoi il affiche que la 1ère fonction dont le col[7] = 0 et pas les suivantes:
Voici ce qu'il m'affiche :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <xsl:for-each select="//col[generate-id(.)=generate-id(key('id', .)[1])]"> <xsl:sort select="../col[6]" data-type="number" order="ascending"/> <xsl:sort select="../col[7]" data-type="text" order="ascending"/> <xsl:variable name="groupe" select="."/> <xsl:if test="//col[4] != 0"> <xsl:if test="$groupe = 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 test="$groupe !=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="."/></td> </tr> <tr> <td background="decoTd.gif" height="1" width="3"></td> </tr> </table> <xsl:for-each select="//col[6]"> <xsl:sort select="../col[6]" data-type="number" order="ascending"/> <xsl:sort select="../col[7]" data-type="text" order="ascending"/> <xsl:if test="../col[7] = $groupe"> <xsl:if test="../col[4] != 0"> <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> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each>
Et il devrai m'afficher ceci:Lock
User
List User
Search User
Profiles
List Profiles
Search profiles
Merci a vous pour votre aide, ciaoLock
Change CECU Options
User
List User
Search User
Profiles
List Profiles
Search profiles
Partager