Bonjour;
Je veux transformer un fichier xml en un autre fichier xml à l'aide de xslt.
Mon fichier xml est le suivant:
J'ai un problème dans l'incrémentation d'une variable dans un fichier xslt:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="ISO-8859-1"?> <Fichier_XML> <Bloc ID="1" x1="36" y1="10" x2="725" y2="20"/> <Bloc ID="2" x1="591" y1="151" x2="665" y2="162"/> <Bloc ID="3" x1="590" y1="184" x2="717" y2="198"/> <Bloc ID="4" x1="590" y1="218" x2="723" y2="230"/> <Bloc ID="5" x1="102" y1="337" x2="263" y2="351"/> <Bloc ID="6" x1="102" y1="370" x2="234" y2="383"/> <Bloc ID="7" x1="102" y1="403" x2="224" y2="417"/> </Fichier_XML>
le fichier xslt est le suivant:
le resultat est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform" match="/" > <Fichier_XML> <entête> <xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="1" name="a" /> <xsl:for-each select="//Bloc"> <xsl:param xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="./@y2" name="b" /> <xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="$b < 300" > <xsl:text> a=</xsl:text> <xsl:value-of select="$a=($a)+1"/> </xsl:if> </xsl:for-each> </entête> </Fichier_XML> </xsl:template> </xsl:stylesheet>
par contre mon but est d'avoir le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0"?> <Fichier_XML> <entête> a=false a=false a=false a=false </entête> </Fichier_XML>
Enfin, j'ai pas pu changer le contenue du paramètre a.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0"?> <Fichier_XML> <entête> a=2 a=3 a=4 a=5 </entête> </Fichier_XML>
Pouvez vous m'aider à trouver la possibilité d'incrémenter le paramètre a.
Merci d'avance.
![]()
Partager