【问题标题】:Mvp.Xsl calling C# scriptsMvp.Xsl 调用 C# 脚本
【发布时间】:2011-04-05 07:26:09
【问题描述】:

我正在使用 EXSLT 的 Mvp.Xsl 实现。我试图在我的 XSLT 模板中调用 C# 脚本。它在使用 XslCompiledTransform 处理时有效,但不适用于 Mvp.Xsl。我收到以下错误:

Unhandled Exception: System.Xml.Xsl.XslTransformException: Execution of scripts was prohibited. Use the XsltSettings.EnableScript property to enable it.    

我了解使用 XslCompiled 转换处理时出现此错误,我可以使用 XsltSettings 摆脱它:

System.Xml.Xsl.XsltSettings.Default.EnableScript = true; 

但这不适用于 Mvp.Xsl,我还没有找到类似的设置。使用 Mvp.Xsl 时甚至可以调用 C# 脚本吗?

非常感谢, 彼得

【问题讨论】:

  • 给 Oleg Tkachenko 写一封电子邮件。正如我之前所说,不使用 XSLT 2.0 感觉很受虐。
  • @Dimitre:非常感谢您的建议,我给他发了一封电子邮件,提出了这个问题。

标签: c# xslt exslt


【解决方案1】:

只有当您需要脚本支持并且您在完全受信任的环境中工作时,才应启用 XSLT 脚本。

以下代码加载样式表并启用 XSLT 脚本支持。

// Create the XsltSettings object with script enabled.
XsltSettings settings = new XsltSettings(false,true);

// Create the XslCompiledTransform object and load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("sample.xsl", settings, new XmlUrlResolver());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-05
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多