Probleme transformation xslt

Probleme transformation xslt - XML/XSL - Programmation

Marsh Posté le 27-03-2009 à 16:35:03    

Bonjour,
 
alors voilà j'enregistre dans un fichier  XML des informations sur une opération :
 
<?xml version="1.0" encoding="UTF-8"?>
<Finance>
  <Operation numero_Operation="1">
    <type>Debit</type>
    <date>12-12-2008</date>
    <Tiers>JEAN BERNARD</Tiers>
    <Categorie>Automobile</Categorie>
    <Montant>55</Montant>
  </Operation>
  <Operation numero_Operation="2">
    <type>Credit</type>
    <date>01-01-2009</date>
    <Tiers>JACQUES</Tiers>
    <Categorie>Frais bancaire</Categorie>
    <Montant>150</Montant>
  </Operation>
</Finance>
 
J'arrive à afficher l'ensemble de ces informations dans un tableau grâce à mon fichier xslt.  
 
Maintenant j'aimerai pouvoir avoir le total du montant correspondant aux opérations de débits, et pareil pour les opérations de crédits. J'ai essayé plusieurs méthodes mais je n'y arrive pas je débute avec le XML et xslt.
 
Si quelqu'un peut m'aider =)  
Merci

Reply

Marsh Posté le 27-03-2009 à 16:35:03   

Reply

Marsh Posté le 27-03-2009 à 17:59:44    

http://www.w3.org/TR/xpath#function-sum


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 27-03-2009 à 19:01:04    

J'ai essayé des choses du style :
 
<xsl:choose>
      <xsl:when test="//type[.='Debit']">
       <xsl:value-of select="sum(//Montant)"/>
      </xsl:when >
   </xsl:choose>
 
mais sa ne marche pas :/

Reply

Marsh Posté le 27-03-2009 à 19:15:43    

Toukiii a écrit :

J'ai essayé des choses du style :

 

<xsl:choose>
      <xsl:when test="//type[.='Debit']">
       <xsl:value-of select="sum(//Montant)"/>
      </xsl:when >
   </xsl:choose>

 

mais sa ne marche pas :/


Normal, c'est n'importe quoi. XSLT, c'est pas du C ou du Java, c'est un langage fonctionnel basé sur des sélections et des templates.

 

Ici, tu peux récupérer chaque somme avec un unique xsl:value-of.

 

Commences par te demander comment sélectionner tous les Montant depuis ta racine (/)


Message édité par masklinn le 27-03-2009 à 19:17:19

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 31-03-2009 à 21:19:41    

Pour sélectionner tout les montant je fait : sum(//Operation/Montant)
sa marche tres bien.
Parcontre pour sélectionner les montants quand type est égal à debit j'ai essayé : sum(//Operation[type ='Debit']/Montant) .  
Mais sa ne marche toujours pas..

Reply

Marsh Posté le 31-03-2009 à 21:26:08    

Chez moi ça marche [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

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