Bonjour,
J'essaye de réaliser une opération très simple dans la traduction d'un fichier XML
Voilà la structure simplifiée de mon arbre XML :
Je traites dans des templates chaque noeuds "round" puis chaque noeud "action", classées par leur attribut "no". Un truc du style :
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 <round no="0"> <action no="1" sum="$0.01"/> <action no="2" sum="$0.02"/> </round> <round no="1"> <action no="7" sum="$0.07"/> <action no="8" sum="$0"/> <action no="3" sum="$0"/> <action no="4" sum="$0"/> <action no="5" sum="$0.08"/> <action no="6" sum="$0"/> </round> <round no="2"> <action no="9" sum="$0"/> <action no="10" sum="$0"/> </round> <round no="3"> <action no="11" sum="$0.10"/> <action no="12" sum="$0"/> </round>
A l'intérieur du template "DisplayAction", j'aimerais calculer la somme des attributs "sum" de toute les actions précédentes (avec un "no" inférieur au noeud courant) de tous les rounds précédents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <xsl:for-each select="action"> <xsl:sort data-type="number" select="attribute::no"/> <xsl:call-template name="DisplayAction"> <xsl:with-param name="ActionNode"> <xsl:value-of select="."/> </xsl:with-param> </xsl:call-template> <xsl:for-each/>
J'imagine que c'est une action simple, mais je ne vois pas comment la réaliser.
Merci si qqn a des infos.
Partager