[XSL] sum sur des montants à virgule

sum sur des montants à virgule [XSL] - XML/XSL - Programmation

Marsh Posté le 23-09-2004 à 14:06:43    

Bonjour,
 
J'ai un fichier xml
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <?xml-stylesheet type="text/xsl" href="TestSum.xsl"?>
  3. <CompteRendu>
  4. <Compte idCpt="000000006"  montant="447,68" />
  5. <Compte idCpt="000000007"  montant="11904,66" />
  6. </CompteRendu>


 
Et une feuille de style  
 

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
  3. <xsl:template match="/" >
  4. <table align='center' border="0">
  5.  <tr>
  6.   <td>
  7.    Total montant
  8.   </td>
  9.   <td align="right" width="20" ><hr />
  10.   <xsl:value-of select="sum(CompteRendu/Compte/@montant)" />
  11.   </td>
  12.  </tr>
  13. </table>
  14. </xsl:template>
  15. </xsl:stylesheet>


 
La function sum renvoie NaN alors qu'avec des "." comme séparateur de décimal cela marche.
 
Quelqu'un a-t-il une solution à mon problème sans recoder une fonction sum ?  :love:


---------------
La différence entre la théorie et la pratique c'est qu'en théorie il n'y a pas de différence, mais qu'en pratique il y en a une.
Reply

Marsh Posté le 23-09-2004 à 14:06:43   

Reply

Marsh Posté le 23-09-2004 à 14:34:44    

comment on fait pour "recorder une fonction"? Ca m'intéresse :)

Reply

Marsh Posté le 23-09-2004 à 16:47:32    

[:spamafote]


---------------
La différence entre la théorie et la pratique c'est qu'en théorie il n'y a pas de différence, mais qu'en pratique il y en a une.
Reply

Marsh Posté le 23-09-2004 à 20:37:10    

Salut,  
 
Tu peux jeter un oeil sur la fonction format-number, mais l'idéal serait d'avoir des fichiers XML qui adoptent le séparateur par défaut de XSL à savoir le point. Pour information, le seul séparateur décimal autorisé de du standard XML Schema est le point.  
 
Autre point, l'encodage de ton fichier n'est pas judicieux car les seuls encodages que les parsers doivent implémenter pour être conformes au standard sontUTF-8 et UTF-16.
 
A+

Reply

Marsh Posté le 24-09-2004 à 11:43:54    

:jap:


---------------
La différence entre la théorie et la pratique c'est qu'en théorie il n'y a pas de différence, mais qu'en pratique il y en a une.
Reply

Marsh Posté le 30-09-2004 à 12:00:09    

Oui, il faut garder le point pour le stockage et les calculs, et bien sûr, utiliser la fonction translate() pour avoir l'affichage avec la virgule.

Reply

Marsh Posté le 30-09-2004 à 15:06:03    

Merci pour tout, j'ai un début de solution
 
http://www.developpez.net/forums/v [...] highlight=
 
NB : Ils sont quand même plus balèzes sur le forum www.developpez.net.  Je chambre !
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed