使用传递给xslt样式表的参数

时间:2013-04-16 14:19:16

标签: xslt parameters saxon xsl-stylesheet

我正在使用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包含值

,也不会输出任何内容

1 个答案:

答案 0 :(得分:1)

您在xsl:param元素中使用xsl:template,这意味着该参数用于模板。您从.net代码传递的参数是变换器参数,相关xsl:param必须放在样式表的顶层,放入xsl:stylesheet元素。