La situation est que j'ai deux fichiers xslt: un est appelé à partir de mon code ASP.NET, et là, le deuxième fichier xslt est importé. Ce que je voudrais accomplir est de passer un paramètre au premier, ainsi le deuxième xslt (celui qui est importé au premier xslt) peut le lire.XSLT - Attraper les paramètres
Mon C# code ressemble à ceci:
var oArgs = new XsltArgumentList();
oArgs.AddParam("fbLikeFeatureName", "", "Facebook_Like_Button");
ltlContentBody.Text = xmlUtil.TransformXML(oXmlDoc, Server.MapPath(eSpaceId + "/styles/ExploringXSLT/ExploreContentObjects.xslt"), true);
Et j'attraper le param au premier xslt ainsi:
<xsl:param name="fbLikeFeatureName" />
Et puis, en passant à la deuxième xslt comme celui-ci (auparavant, j'importer ce fichier):
<xsl:call-template name="Articles">
<xsl:with-param name="fbLikeFeatureName"></xsl:with-param>
</xsl:call-template>
Enfin, j'attrapant le deuxième sur le param fichier xslt comme suit :
<xsl:value-of select="$fbLikeButtonName"/>
Qu'est-ce que je fais mal? Je suis un peu nouveau à xslt.
J'ai confirmé que le code ci-dessus fonctionne aussi sur MSXML –
Je ne sais pas pourquoi Je ne peux pas le faire fonctionner ... Je fais tout ce que tu m'as dit de faire. –
Eh bien, je reconnais que je suis beaucoup plus un expert XSL qu'un expert C#, mais où dans votre exemple de code attacher la liste des paramètres à la transformation? Je vois où vous créez oArgs, et je vois où vous le peupler, mais il n'est pas mentionné sur la ligne où vous faites la transformation. –