[XSLT] for-each et variables
	
	
		Bonjour,
J ai des données stockées au format xml de type :
CLIENT
PRODUIT 
QUANTITE
PRIX
QUANTITE_BASE 
QUANTITE_BASE est identique pour toutes les données du couple CLIENT PRODUIT.
Je dois dans un tableau créer une nouvelle donnée QUANTITE_DE_BASE  et modifier QUANTITE en fonction de QUANTITE_BASE.
En gros j ai ces données :
	Citation:
	
		
		
			CLIENT : C1
PRODUIT : P1
QUANTITE : 500
PRIX : 5
QUANTITE_BASE : 600
CLIENT : C1
PRODUIT : P1
QUANTITE : 300
PRIX : 6
QUANTITE_BASE : 600 (idem que celui du dessus car mm couple client produit)
CLIENT : C2
PRODUIT : P1
QUANTITE : 800
PRIX : 3
QUANTITE_BASE : 500
			
		
	
 -----
Je dois obtenir un tableau avec 
	Citation:
	
		
		
			CLIENT : C1
PRODUIT : P1
QUANTITE : 0
PRIX : 5
QUANTITE_DE_BASE : 500 (=QUANTITE car QUANTITE<QUANTITE_BASE, je dois garder en mémoire les 100 de la QUANTITE_BASE restant pour le prochain couple client/produit)
CLIENT : C1
PRODUIT : P1
QUANTITE : 0 (car il y a des QUANTITE_BASErestant)
PRIX : 6
QUANTITE_DE_BASE : 100 (QUANTITE_BASErestant<QUANTITE dc on affiche 100 et on garde en mémoire les 200 que l on a pas encore affiché 300-100=QUANTITE-QUANTITE_BASErestant)
CLIENT : C1
PRODUIT : P1
QUANTITE : 200 (la QUANTITE RESTANTE)
PRIX : 6
QUANTITE_DE_BASE : 0 (car il n y a plus de QUANTITE_BASErestant)
			
		
	
 --> pour ce couple on a bien une quantité totale de 500+300 mais répartie en 500 + 100 + 200
Pour le couple suivant C2/P1:
	Citation:
	
		
		
			CLIENT : C2
PRODUIT : P1
QUANTITE : 0
PRIX : 3
QUANTITE_DE_BASE : 500
CLIENT : C2
PRODUIT : P1
QUANTITE : 300
PRIX : 3
QUANTITE_DE_BASE : 0
			
		
	
 L'algo pour moi ne pose pas vraiment de pb ... Le seul hic c est les variables en xslt !! 
Il faudrait que j arrive à initialiser une variable avant mon for-each et que j arrive à la modifier dans ma boucle ... Sauf que j ai la valeur de ma quantite_base dans la boucle ... 
En plus, je crois qu il y a des souci avec les variables, des questions de noeuds en xslt. 
Je comprends pas trop comment m en sortir malgré les tuto et posts lus jusqu à maintenant !!! 
Voici ma boucle sans cette variable pour le moment :
	Citation:
	
		
		
			<x:for-each select="//NIVEAU1">
<tr >
  <x:attribute name="class">r<x:value-of select="position() mod 2"/></x:attribute>
   <td ><x:value-of select="@CLIENT"/></td>
  <td ><x:value-of select="@PRODUIT"/></td>
  <td ><x:value-of select="@QUANTITE "/></td>
  <td ><x:value-of select="@PRIX"/></td>
  <td ><x:value-of select="@QUANTITE_DE_BASE"/></td>
</tr>
</x:for-each>
			
		
	
 
En fait je vois comment déclarer une variable et l initialiser 
	Citation:
	
		
		
			<x:variable nom="base">0</x:variable>
			
		
	
 mais comment lui affecter une valeur par la suite ?
Merci d avance