gpt4 book ai didi

c# - 将参数传递给 XSLT 样式表

转载 作者:可可西里 更新时间:2023-11-01 08:42:04 25 4
gpt4 key购买 nike

我正在尝试将几个参数传递给 XSLT 样式表。我已经按照示例进行操作:Passing parameters to XSLT Stylesheet via .NET .

但是我转换后的页面没有正确显示该值。

这是我的 C# 代码。我必须添加自定义函数来执行一些算术运算,因为 Visual Studio 2010 不使用 XSLT 2.0。

  var args = new XsltArgumentList();
args.AddExtensionObject("urn:XslFunctionExtensions", new XslFunctionExtensions());
args.AddParam("processingId", string.Empty, processingId);

var myXPathDoc = new XPathDocument(claimDataStream);
var xslCompiledTransformation = new XslCompiledTransform(true);

// XSLT File
xslCompiledTransformation.Load(xmlReader);

// HTML File
using (var xmlTextWriter = new XmlTextWriter(outputFile, null))
{
xslCompiledTransformation.Transform(myXPathDoc, args, xmlTextWriter);
}

这是我的 XSLT:

    <xsl:template match="/">
<xsl:param name="processingId"></xsl:param>
..HTML..
<xsl:value-of select="$processingId"/>

我错过了什么吗?

最佳答案

Here is my XSLT:

<xsl:template match="/">     
<xsl:param name="processingId"></xsl:param>
..HTML..
<xsl:value-of select="$processingId"/>

Am I missing something?

是的,您忽略了一个事实,即 XSLT 转换的调用者可以设置全局级参数的值——而不是模板级参数的值。

因此,代码必须是:

 <xsl:param name="processingId"/>     

<xsl:template match="/">
..HTML..
<xsl:value-of select="$processingId"/>
<!-- Possibly other processing here -->
</xsl:template>

关于c# - 将参数传递给 XSLT 样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com