Bonjour,
Je cherche à utiliser une variable pour paramétrer les actions qui doivent être exécutées par mon script XSLT. J'ai donc écrit le code ci-dessous.
Voici comment il doit se comporter sur cet exemple de variable : la variables 'modifications' indique que dans les éléments 'property' ayant pour attribut 'name' le mot 'Language' il faut ajouter l'attribut node="@Language".
Je boucle donc sur les éléments de ma variables, par contre dans mon template nommé "modif" je veux pouvoir de nouveau accéder aux éléments du ducument XML, en fait tout ça est un peu flou et je pense que le code ci-dessous va vous faire rebondir sur vos chaises, je prends donc tout conseil...
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
18
19
20
21
22
23
24
25
26
27
28
29 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:variable name="modifications"> <adds> <attribute property="Languague" newAttrName="node" newAttrValue="@Language"/> </adds> </xsl:variable> <xsl:template match="/"> <xsl:for-each select="$modifications/adds"> <xsl:call-template name="modif"> <xsl:with-param name="property"><xsl:value-of select="@property"/></xsl:with-param> <xsl:with-param name="newAttrName"><xsl:value-of select="@newAttrName"/></xsl:with-param> <xsl:with-param name="newAttrValue"><xsl:value-of select="@newAttrValue"/></xsl:with-param> </xsl:call-template> </xsl:for-each> </xsl:template> <xsl:template name="modif"> <xsl:param name="property"/> <xsl:param name="newAttrName"/> <xsl:param name="newAttrValue"/> ??? </xsl:template> </xsl:stylesheet>
Partager