Bonjour,
Je ne suis pas sur que mon titre soit parlant, je vais tenter d'être clair dans la suite :
J'ai un fichier xml dont voici un extrait :
1 2 3 4 5 6 7 8 9 10 11 12
| <code valeur="10">
<bassin>Monbassin</bassin>
<SumSouscriptible>24990.00</SumSouscriptible>
<SumSouscrit>24386.34</SumSouscrit>
<SumReste>603.66</SumReste>
<riviere numriv="900">
<numriviere>900 </numriviere>
<nomriviere>CANAL</nomriviere>
<souscriptible>95.00</souscriptible>
<souscrit>95.50</souscrit>
<reste>-0.50</reste>
</riviere> |
je cherche à faire quelques calcul à partir de ce fichier, pour cela, j'ai fait un fichier de paramétrage (export d'excel en XML) pour fixer les conditions d'affichage et de calcul:
1 2 3 4
| <code valeur="10">
<observation>Dispo=</observation>
<affichage>riviere</affichage>
<calcul>riviere[@numriv='930']/reste</calcul> |
Je récupère sans problème l'observation pour la mettre en face du bon noeud. Par contre, je cherche à afficher en dynamique en fait ceci (qui fonctionne en statique :
<xsl:value-of select="//code[@valeur=$codebassin]/riviere[@numriv='900']/reste"/>
en statique (avec le code ci-dessus, j’obtiens bien -0.50)
j'ai essayer ceci :
1 2 3
| <xsl:variable name="nodebassin" select="//code[@valeur=$codebassin]"/>
<xsl:variable name="calcul" select="$contrainte/code[@valeur=$codebassin]/calcul"/>
<xsl:value-of select="$nodebassin/$calcul"/> |
MAis la dernière ligne ne fonctionne pas, je ne peut pas assembler deux partie de mon adresse, il interprète la première et evidement, ca ne colle pas avec la seconde...
J'espère que c'est assez clair.
Merci de vos conseils
Partager