Bonjour tous le monde.
Je suis en train de développer un site internet avec java, XML et XSL et j'ai un probleme pour calculer le resultat de plusieur nodes du fichier XML.
Voici un exemple du fichier XML:
Mon but est d'additionner "TotalAmount" pour chaque "SalesRepID".
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 <?xml version="1.0" encoding="utf-8" ?> <NewDataSet> <PremierPayrollSalesrepCommission> <SalesRepID>500</SalesRepID> <SalesRepNo>WS102</SalesRepNo> <FirstName>William</FirstName> <Surname>Smith</Surname> <CommRate>0.04</CommRate> <SalesRepID1>500</SalesRepID1> <OrderNumber>12000</OrderNumber> <CustomerNo>SA124</CustomerNo> <TotalAmount>134.84</TotalAmount> <Commission>5.3936</Commission> </PremierPayrollSalesrepCommission> <PremierPayrollSalesrepCommission> <SalesRepID>500</SalesRepID> <SalesRepNo>WS102</SalesRepNo> <FirstName>William</FirstName> <Surname>Smith</Surname> <CommRate>0.04</CommRate> <SalesRepID1>500</SalesRepID1> <OrderNumber>12007</OrderNumber> <CustomerNo>SA124</CustomerNo> <TotalAmount>54.95</TotalAmount> <Commission>2.198</Commission> </PremierPayrollSalesrepCommission> <PremierPayrollSalesrepCommission> <SalesRepID>500</SalesRepID> <SalesRepNo>WS102</SalesRepNo> <FirstName>William</FirstName> <Surname>Smith</Surname> <CommRate>0.04</CommRate> <SalesRepID1>500</SalesRepID1> <OrderNumber>12009</OrderNumber> <CustomerNo>SA124</CustomerNo> <TotalAmount>949.95</TotalAmount> <Commission>25.998</Commission> </PremierPayrollSalesrepCommission>
Voici mon fichier XSL:
Apparament la function "Number" ne marche pas et si je met uniquement "sum" il ne me calcule pas la somme des 3 il me les met juste a la suite (car pour lui ce n'est pas un nombre mais une chaine de caractere je pense).
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 <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:output method="text"/> <xsl:param name="RepNo" /> <xsl:param name="CustNo" /> <xsl:template match="/NewDataSet"> <xsl:for-each select="//PremierPayrollSalesrepCommission" > <xsl:if test="SalesRepNo = $RepNo"> <xsl:if test="CustomerNo = $CustNo"> <xsl:value-of select="sum(number(TotalAmount))" /> </xsl:if> <xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Voici l'erreur qu'il me retourne si je met "number": expression does not return a dom node number
J'espere que je me suis bien exprimé et je vous remercie d'avance pour votre aide.
Anthony
Partager