bonjour voici mon xslt:
appliqué sur le fichier xml, cela donne ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
quand j'utilise la variable $v définie, cela me renvoie le bon résultat;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 1p1p1 2p2p1 3p3p1 1p1p1 2p2p1 3p3p1 1p1p1 2p2p1 3p3p1
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
Partager