Bonjour à tous
Voici mon probleme :

J'ai mon XML qui est très long j'en met donc un morceau

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
 
 <Table>
    <id>11</id>
    <nom>DRENNEC</nom>
    <numeroSanitaire>YT 976 508 04</numeroSanitaire>
    <paysId>4</paysId>
    <oceanId>2</oceanId>
    <etatId>0</etatId>
    <modePaiement>1</modePaiement>
    <deviseId>1</deviseId>
    <tvaId>1</tvaId>
    <contenance>1000000</contenance>
    <commentaire />
    <couleurR>169</couleurR>
    <couleurG>169</couleurG>
    <couleurB>169</couleurB>
    <etatSysteme>0</etatSysteme>
    <armateurId>1</armateurId>
    <groupeFacturation>B</groupeFacturation>
    <debutNumerotation>1</debutNumerotation>
    <compteAchat>60726500</compteAchat>
    <compteCollectif>40112000</compteCollectif>
    <compteLiaison>18840000</compteLiaison>
    <numeroTiers>9865</numeroTiers>
    <id1>43</id1>
    <thonierId>11</thonierId>
    <dateDebut>2008-11-17T00:00:00+01:00</dateDebut>
    <dateFin>2008-12-12T00:00:00+01:00</dateFin>
    <bonDebarquement>4554</bonDebarquement>
    <portDebarquementId>1</portDebarquementId>
    <oceanId1>2</oceanId1>
    <dateAchat>2008-12-15T00:00:00+01:00</dateAchat>
    <datePermissionnaire>2008-12-12T00:00:00+01:00</datePermissionnaire>
    <commentaire1 />
    <statutMaree>3</statutMaree>
    <id2>55</id2>
    <mareeId>43</mareeId>
    <datePeche>2008-11-17T00:00:00+01:00</datePeche>
    <kilos>580000</kilos>
    <commentaire2 />
    <Today>16 oct. 2009</Today>
    <Now>03:50</Now>
    <Logo>c:/fonet/bg_acc.jpg</Logo>
    <GenBy>Fo.Net</GenBy>
  </Table>
  <Table>
    <id>7</id>
    <nom>TALENDUIC</nom>
    <numeroSanitaire>F.29.039.575.CE</numeroSanitaire>
    <paysId>2</paysId>
    <oceanId>2</oceanId>
    <etatId>0</etatId>
    <modePaiement>1</modePaiement>
    <deviseId>1</deviseId>
    <tvaId>1</tvaId>
    <contenance>200000</contenance>
    <commentaire />
    <couleurR>0</couleurR>
    <couleurG>0</couleurG>
    <couleurB>0</couleurB>
    <etatSysteme>0</etatSysteme>
    <armateurId>1</armateurId>
    <groupeFacturation>B</groupeFacturation>
    <debutNumerotation>1</debutNumerotation>
    <compteAchat>60712700</compteAchat>
    <compteCollectif>40111000</compteCollectif>
    <compteLiaison>18840000</compteLiaison>
    <numeroTiers>9827</numeroTiers>
    <id1>46</id1>
    <thonierId>7</thonierId>
    <dateDebut>2008-11-17T00:00:00+01:00</dateDebut>
    <dateFin>2008-12-16T00:00:00+01:00</dateFin>
    <bonDebarquement>2348</bonDebarquement>
    <portDebarquementId>1</portDebarquementId>
    <oceanId1>2</oceanId1>
    <dateAchat>2008-12-18T00:00:00+01:00</dateAchat>
    <datePermissionnaire>2008-12-12T00:00:00+01:00</datePermissionnaire>
    <commentaire1 />
    <statutMaree>3</statutMaree>
    <id2>56</id2>
    <mareeId>46</mareeId>
    <datePeche>2008-11-17T00:00:00+01:00</datePeche>
    <kilos>280000</kilos>
    <commentaire2 />
    <Today>16 oct. 2009</Today>
    <Now>03:50</Now>
    <Logo>c:/fonet/bg_acc.jpg</Logo>
    <GenBy>Fo.Net</GenBy>
  </Table>
  <Table>
    <id>15</id>
    <nom>MEN GOE</nom>
    <numeroSanitaire>F.29.39.599.CE</numeroSanitaire>
    <paysId>2</paysId>
    <oceanId>1</oceanId>
    <etatId>0</etatId>
    <modePaiement>0</modePaiement>
    <deviseId>1</deviseId>
    <tvaId>1</tvaId>
    <contenance>1000000</contenance>
    <commentaire />
    <couleurR>169</couleurR>
    <couleurG>169</couleurG>
    <couleurB>169</couleurB>
    <etatSysteme>0</etatSysteme>
    <armateurId>1</armateurId>
    <groupeFacturation>B</groupeFacturation>
    <debutNumerotation>1</debutNumerotation>
    <compteAchat>60711200</compteAchat>
    <compteCollectif>40111000</compteCollectif>
    <compteLiaison>18840000</compteLiaison>
    <numeroTiers>9812</numeroTiers>
    <id1>45</id1>
    <thonierId>15</thonierId>
    <dateDebut>2008-11-17T00:00:00+01:00</dateDebut>
    <dateFin>2008-12-17T00:00:00+01:00</dateFin>
    <bonDebarquement>2349</bonDebarquement>
    <portDebarquementId>1</portDebarquementId>
    <oceanId1>2</oceanId1>
    <dateAchat>2008-12-20T00:00:00+01:00</dateAchat>
    <datePermissionnaire>2008-12-12T00:00:00+01:00</datePermissionnaire>
    <commentaire1 />
    <statutMaree>3</statutMaree>
    <id2>57</id2>
    <mareeId>45</mareeId>
    <datePeche>2008-11-17T00:00:00+01:00</datePeche>
    <kilos>670000</kilos>
    <commentaire2 />
    <Today>16 oct. 2009</Today>
    <Now>03:50</Now>
    <Logo>c:/fonet/bg_acc.jpg</Logo>
    <GenBy>Fo.Net</GenBy>
  </Table>
  <Table>
    <id>4</id>
    <nom>GLENAN</nom>
    <numeroSanitaire>F.29.039.531.CE</numeroSanitaire>
    <paysId>2</paysId>
    <oceanId>2</oceanId>
    <etatId>0</etatId>
    <modePaiement>1</modePaiement>
    <deviseId>1</deviseId>
    <tvaId>1</tvaId>
    <contenance>500000</contenance>
    <commentaire />
    <couleurR>0</couleurR>
    <couleurG>0</couleurG>
    <couleurB>255</couleurB>
    <etatSysteme>0</etatSysteme>
    <armateurId>1</armateurId>
    <groupeFacturation>B</groupeFacturation>
    <debutNumerotation>1</debutNumerotation>
    <compteAchat>60711100</compteAchat>
    <compteCollectif>40111000</compteCollectif>
    <compteLiaison>18840000</compteLiaison>
    <numeroTiers>9811</numeroTiers>
    <id1>44</id1>
    <thonierId>4</thonierId>
    <dateDebut>2008-11-17T00:00:00+01:00</dateDebut>
    <dateFin>2008-12-19T00:00:00+01:00</dateFin>
    <bonDebarquement>2350</bonDebarquement>
    <portDebarquementId>1</portDebarquementId>
    <oceanId1>2</oceanId1>
    <dateAchat>2008-12-21T00:00:00+01:00</dateAchat>
    <datePermissionnaire>2008-12-12T00:00:00+01:00</datePermissionnaire>
    <commentaire1 />
    <statutMaree>3</statutMaree>
    <id2>58</id2>
    <mareeId>44</mareeId>
    <datePeche>2008-11-17T00:00:00+01:00</datePeche>
    <kilos>544000</kilos>
    <commentaire2 />
    <Today>16 oct. 2009</Today>
    <Now>03:50</Now>
    <Logo>c:/fonet/bg_acc.jpg</Logo>
    <GenBy>Fo.Net</GenBy>
  </Table>
  <Table>
    <id>10</id>
    <nom>CAP ST VINCENT</nom>
    <numeroSanitaire>F.29.039.598.CE</numeroSanitaire>
    <paysId>2</paysId>
    <oceanId>2</oceanId>
    <etatId>2</etatId>
    <modePaiement>1</modePaiement>
    <deviseId>1</deviseId>
    <tvaId>1</tvaId>
    <contenance>100000</contenance>
    <commentaire />
    <couleurR>169</couleurR>
    <couleurG>169</couleurG>
    <couleurB>169</couleurB>
    <etatSysteme>0</etatSysteme>
    <armateurId>2</armateurId>
    <groupeFacturation>G</groupeFacturation>
    <debutNumerotation>1</debutNumerotation>
    <compteAchat>60711000</compteAchat>
    <compteCollectif>40111000</compteCollectif>
    <compteLiaison>18840000</compteLiaison>
    <numeroTiers>9810</numeroTiers>
    <id1>47</id1>
    <thonierId>10</thonierId>
    <dateDebut>2008-11-17T00:00:00+01:00</dateDebut>
    <dateFin>2008-12-18T00:00:00+01:00</dateFin>
    <oceanId1>2</oceanId1>
    <datePermissionnaire>2008-12-12T00:00:00+01:00</datePermissionnaire>
    <commentaire1 />
    <statutMaree>3</statutMaree>
    <id2>59</id2>
    <mareeId>47</mareeId>
    <datePeche>2008-11-17T00:00:00+01:00</datePeche>
    <kilos>686000</kilos>
    <commentaire2 />
    <Today>16 oct. 2009</Today>
    <Now>03:50</Now>
    <Logo>c:/fonet/bg_acc.jpg</Logo>
    <GenBy>Fo.Net</GenBy>
  </Table>
J'ai effectué un groupement avec la méthode de muench par nom pour ma première colonne.
J'aimerai faire de même pour a l'intérieur de ce groupement avec dateDebut
Sachant que la troisième colonne aura la somme en kilos de chaque dateDebut.

voici la partie de mon code en XSLT
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
56
57
58
59
 
  <xsl:key name="thonier" match="Table" use="id" />
  <xsl:key name="maree" match="Table" use="id1" />
  <xsl:key name="thonier-maree" match="Table" use="concat(id, ' ', id1)" />
 
 
 <fo:table-body>
              <xsl:variable name="bouclethonier" select="Table[generate-id(.) = generate-id(key('thonier', id)[1])]"/>
              <xsl:for-each select="$bouclethonier">
                <xsl:for-each select="key('thonier-maree', concat(id, ' ', id1))">
                <xsl:sort select="nom" order="ascending"/>
                  <fo:table-row>
                    <fo:table-cell>
                      <fo:block>
                        <xsl:if test="position()=1">
                          <xsl:value-of select="nom"/>  
                        </xsl:if> 
                      </fo:block>
                    </fo:table-cell>
                    <fo:table-cell>
                      <fo:block>
                          <xsl:call-template name="format-date">
                            <xsl:with-param name="date">
                              <xsl:value-of select="dateDebut"/>
                            </xsl:with-param>
                            <xsl:with-param name="previous"></xsl:with-param>
                          </xsl:call-template>
                      </fo:block>
                    </fo:table-cell>
                    <fo:table-cell>
                      <fo:block>
                        <xsl:value-of select="kilos"/>
                      </fo:block>
                    </fo:table-cell>
                    <fo:table-cell>
                      <fo:block>
                      </fo:block>
                    </fo:table-cell>
                  </fo:table-row>
                  <xsl:if test="position()=last()">
                    <fo:table-row>
                      <fo:table-cell>
                        <fo:block></fo:block>
                      </fo:table-cell>
                      <fo:table-cell>
                        <fo:block>
                          Total
                        </fo:block>
                      </fo:table-cell>
                      <fo:table-cell>
                        <fo:block font-size="8px" color="red">
                          <xsl:value-of select="sum(kilos)"/>
                        </fo:block>
                      </fo:table-cell>
                    </fo:table-row>
                    <fo:table-row xsl:use-attribute-sets="row-blank"/>
                  </xsl:if>
                </xsl:for-each>
              </xsl:for-each>
Merci d'avance pour votre aide