XSL position d'un élement

XSL position d'un élement - XML/XSL - Programmation

Marsh Posté le 17-09-2015 à 10:38:02    

Bonjour  
 
J'ai un projet en route mais je suis actuellement bloqué.
 
Voici mon XML:
 

Code :
  1. <ITEM voided="0" negativeitemflag="0" itemdescr="TORO GLASVITRINE LACK" profitid="6840" exception_price_type="1" type="0" intcode="400649700000" erp="7624400080337" weight="-1.000" itmidx="10" measure="0"               price="499.00" price_type="0" amount="-224.55" ean="04044341308414" itemscan="0" vatperc="8.00" vatid="2"/>
  2.  <PROMO autonom="0" reduction="-224.55" bundleid="0" itmidx="10" promisid="0" type="100"/>
  3.  <PROMO autonom="0" promofactor="10" reduction="-49.90" bundleid="1050615" itmidx="10" promisid="1050615" type="170"/>


 
Mon XSL:
 

Code :
  1. <xsl:variable name="itmidx" select="@itmidx"/>
  2.  <xsl:for-each select="../PROMO[@itmidx = $itmidx]">
  3.  <RetailPriceModifier>
  4.   <SequenceNumber>
  5.    <xsl:for-each select="../PROMO[@itmidx = $itmidx]">
  6.     <xsl:sort select="@type" data-type="number" order="ascending"/>
  7.      <xsl:value-of select="position()"/>
  8.    </xsl:for-each>
  9.   </SequenceNumber>


 
 
Le but est de trier les PROMO en fonction de le @type et de récupérer leurs positions, pour avoir ceci:
 

Code :
  1. <RetailPriceModifier>
  2.      <SequenceNumber>1</SequenceNumber>
  3.      ...
  4.     </RetailPriceModifier>
  5. <RetailPriceModifier>
  6.      <SequenceNumber>2</SequenceNumber>
  7.      ...
  8.     </RetailPriceModifier>


 
Actuellement mon code me donne :
 

Code :
  1. <RetailPriceModifier>
  2.                  <SequenceNumber>12</SequenceNumber>
  3.      ...
  4.     </RetailPriceModifier>
  5. <RetailPriceModifier>
  6.      <SequenceNumber>12</SequenceNumber>
  7.      ...
  8.     </RetailPriceModifier>


 
 
Il récupère donc les deux positions.
 
Quelqu'un à une idée ?


---------------
Cordialement
Reply

Marsh Posté le 17-09-2015 à 10:38:02   

Reply

Sujets relatifs:

Leave a Replay

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