XSLT ne sait rien sur les variables du (VB.NET) programme qui a initié la transformation.
Il y a deux façons différentes pour transmettre des valeurs des variables à la transformation:
les passer en tant que paramètres globaux à la transformation. En savoir plus comment le faire avec XslCompiledTransform.Transform()
:::: here.
Modifier le document XML source (après chargement, pour contenir les valeurs des variables dans certains noeuds
Je recommande la méthode 1 ci-dessus
MISE À JOUR..:
De toute évidence, vous utilisez une variante de la méthode 2. Dans ce cas, il n'est pas du tout judicieux de mettre les valeurs des La même chaîne
Beaucoup mieux que:
<link><![CDATA[/<% = countryVar %>/<% = langVar %>/products/index.aspx]]></link>
(et il serait facile de traiter avec XSLT après, est:
<link>
<country><% = countryVar %></country>
<slash>/</slash>
<lang><% = langVar %></lang>
<tail-link>/products/index.aspx</tail-link>
<linkName>Whatever link text</linkName>
</link>
Ensuite, le code XSLT qui traite ce sera juste:
<a href="{link}"><xsl:value-of select="linkName"/></a>
(ceci suppose que vous avez <xsl:strip-space elements="*"/>
au niveau global dans votre feuille de style).
et les valeurs des variables sont:
link/country
et
link/lang
Bonne question (1). Voir ma réponse pour deux solutions différentes. –