Bonjour,
ce topic est surement 1000 fois dans le forum mais impossible d'appliquer à mon cas (pourtant pas très complexe)
Mon fichier xml:
Ce à quoi je dois arriver est un comptage du nombre d'occurences par employé et par mois
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
54
55 <Report> <tables> <table tableshort='MA' recid='9105'> <field fieldno="93"></field> <field fieldno="0">20070822</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='12242'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20071120</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='12243'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20071121</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='12244'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20071120</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='10443'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20071003</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='9330'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20070831</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='12378'> <field fieldno="93">ANDRIEU Jean-Marc</field> <field fieldno="0">20071121</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='10212'> <field fieldno="93">BOUREZ Jérôme</field> <field fieldno="0">20070926</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='10213'> <field fieldno="93">BOUREZ Jérôme</field> <field fieldno="0">20070925</field> <field fieldno="37"></field> </table> <table tableshort='MA' recid='9264'> <field fieldno="93">BOUREZ Jérôme</field> <field fieldno="0">20070831</field> <field fieldno="37"></field> </table> </tables> </Report>
J'ai dans un premier temps essayé de distingué chaque numéro de mois de mon fichier xml (pour ensuite passer aux personnes)
Mais ça ne me fait pas du tout de distinct, j'obtiens tous les mois, classé par ordre, mais j'ai autant de lignes que dans mon fichier xml de départ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <xsl:for-each select="/report/tables/table[not(substring(field[@fieldno=0],5,2) = substring(preceding-sibling::table/field[@fieldno=0],5,2))]"> <xsl:sort select="substring(field[@fieldno=0],5,2)" data-type="text" order="ascending"/> <tr> <td> <xsl:value-of select="substring(field[@fieldno=0],5,2)"/> </td> </tr> </xsl:for-each>
J'espère ne pas m'être mal exprimé
PS: pour l'instant j'utilise une méthode + algorithmique (je regarde la valeur à position()-1, si c'est égal, je n'écris pas. Mais c'est très long pour un gros fichier xml
Merci de votre aide !
a+
juva
Partager