Mvp.Xsl 调用 C# 脚本

发布于 2024-10-30 21:26:55 字数 524 浏览 4 评论 0原文

我正在使用 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# 脚本?

多谢, 彼得

I'm using Mvp.Xsl implementation of EXSLT. I'm trying to call C# script in my XSLT template. It works when processing with XslCompiledTransform, but not with Mvp.Xsl. I get following error:

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

I understand this error when processing with XslCompiled transform, I can get rid of it using XsltSettings:

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

But this does not work for Mvp.Xsl and I have not found similar setting. Is it even possible to call C# scripts when using Mvp.Xsl?

Thanks a lot,
Petr

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人间不值得 2024-11-06 21:26:55

仅当您需要脚本支持并且在完全受信任的环境中工作时,才应启用 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());

XSLT scripting should be enabled only if you require script support and you are working in a fully trusted environment.

The following code loads a style sheet and enables XSLT script support.

// 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());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文