我正在使用Saxon
在我的.NET应用程序中执行XML文档的转换。我将参数传递给我的xslt
文档,但我不知道如何在我的模板中使用它。
这是我到目前为止所做的:
var zipcode = _db.AXCustomers.FirstOrDefault(x => x.ACCOUNTNUM == accNo).ZIPCODE;
transformer.SetParameter(new QName("CustomerZipCode"), new XdmAtomicValue(zipcode));
然后在我的xslt
文档中,我正在指定参数:
<xsl:template match="/">
<xsl:param name="CustomerZipCode" />
但是当我尝试使用该参数时,没有任何内容出现。我这样使用它:
<xsl:value-of select="substring-before($CustomerZipCode, ' ')"/>
但即使我的zipcode
包含值
答案 0 :(得分:1)
您在xsl:param
元素中使用xsl:template
,这意味着该参数用于模板。您从.net代码传递的参数是变换器参数,相关xsl:param
必须放在样式表的顶层,放入xsl:stylesheet
元素。