Bonjour à tous,
en partant du XML suivant:
j'essaie de remplir un tableau avec le total de chaque balise <Items/>; j'utilise la transformation XSLT suivante:
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 <Groupe> <Items> <Item> <total>+15</total> </Item> <Item> <total>+13</total> </Item> </Items> <Items> <Item> <total>+19</total> </Item> </Items> </Groupe> <Groupe> <Items> <Item> <total>+12</total> </Item> </Items> <Items> <Item> <total>+19</total> </Item> <Item> <total>+23</total> </Item> <Item> <total>+8</total> </Item> </Items> <Items> <Item> <total>+17</total> </Item> <Item> <total>+2</total> </Item> </Items> </Groupe>
mais il me retourne à chaque fois "NaNNaN €"; j'ai beau modifier le code, soit il ne crée pas le tableau, soit il me met "NaNNaN €". Quelqu'un aurait-il une solution? Merci d'avance.
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 <xsl:decimal-format name="francais" decimal-separator="," grouping-separator="."/> . . . <xsl:for-each select="//Groupe"> <tr> <td> <xsl:element name="span"> <xsl:for-each select="Items/Item"> <xsl:variable name="test" select="number(translate(total, '+', ''))" /> <xsl:variable name="sTotal" select="sum($test)"/> <xsl:choose> <xsl:when test="$total >= 0"> <xsl:attribute name="class"> positiveFigure </xsl:attribute> </xsl:when> <xsl:when test="translate($sTotal, '+', '') < 0"> <xsl:attribute name="class"> negativeFigure </xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="class"> negativeFigure </xsl:attribute> </xsl:otherwise> </xsl:choose> <xsl:value-of select="format-number(translate($sTotal, '+', ''), '### ### ##0,00', 'francais')"/> </xsl:for-each> </xsl:element> </td> </tr> </xsl:for-each>
Partager