J'ai besoin d'une boucle jusqu'à un nœud spécifique position()
et la somme de ces nœuds. Par exemple:Comment faire la somme des valeurs de plusieurs nœuds dans XSLT
- si ma position est 2 Noeud puis [1] + noeud [2]
- si ma position est 5 alors noeud [1] + noeud [2] + noeud [3] + noeud [ 4] + nœud [5]
Comment cela peut-il être fait dans XSLT?
ont suit xml
<?xml-stylesheet type="text/xsl" href="sum.xsl"?><root><FIDetail Node1="5" Node2="2" Node3="9" Node4="5" Node5="1" Node6="6" Node7="5" Node8="5" Node9="12" Node10="6" Node11="4" Node12="8" Node13="4" Node14="6" Node15="5" Node16="6" Node17="2" Node18="7" Node19="4" Node20="5" Node21="4" Node22="6" Node23="4" Node24="11" Node25="5" Node26="1" Node27="7" Node28="1" Node29="4" Node30="2" Node31="5" Node32="2" Node33="6" Node34="4" Node35="7" Node36="7" Node37="9" Node38="10" Node39="3" Node40="8" Node41="8" Node42="5" Node43="5" Node44="2" Node45="5" Node46="12" Node47="9" Node48="14" Node49="18" Node50="1"/></root>
je suis en train de montrer la sortie comme ci-dessous
5 somme de Node1
7 somme de Node1 + Node2
16 somme de Node1 + Node2 + Node3
.... somme de Node1 + ... + Node50
une s'il vous plaît aidez-moi que ce sera XSL
ne fonctionne pas xsl est comme ci-dessous
<?xml version="1.0" encoding="UTF-8"?>
<xsl:for-each select="//FIDetail/@*">
<br/>
<xsl:value-of select="sum(preceding-sibling::*) + ."/>
=
<xsl:for-each select="preceding-sibling::*">
<xsl:value-of select="name()"/> +
</xsl:for-each>
<xsl:value-of select="name()"/>
</xsl:for-each>
</xsl:template>
Marc Gravell, Merci de son travail, vous êtes tellement bien, j'apprécie votre réponse rapide – Kedar