1

我正在使用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, ' ')"/>

但是即使 myzipcode确实包含一个值,也没有任何输出

4

1 回答 1

1

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

于 2013-04-16T14:29:33.007 回答