se passer d'une variable? problème de contexte?
bonjour voici mon xslt:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="dataStore">
<xsl:for-each select="activites/item/partenairesTEST/item">
<xsl:variable name="v" select="count(preceding-sibling::item)+1"/>
<xsl:value-of select="$v"/>
<xsl:value-of select="../../../../partenaires/item[position()=$v]/nom"/>
<xsl:value-of select="../../../../partenaires/item[position()=count(preceding-sibling::item)+1]/nom"/>
<xsl:element name="br"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet> |
appliqué sur le fichier xml, cela donne ceci:
Code:
1 2 3 4 5 6 7 8 9
| 1p1p1
2p2p1
3p3p1
1p1p1
2p2p1
3p3p1
1p1p1
2p2p1
3p3p1 |
quand j'utilise la variable $v définie, cela me renvoie le bon résultat;
quand j'utilise la définition de la variable, cela ne me renvoie pas le bon résultat (et cela me renvoie d'office p1) car le count renvoie 0 (et non pas 0, 1 puis 2)
le souci est que dois utiliser dans l'ETL Talend la requête XPath, sans variable (je n'ai pas trouvé dans le composant tFileInputMSXML comment en utiliser une)
merci