是否可以在 Visual Studio 中使用 EXSLT 函数?我在 VS 中编写和调试我的 xslt 脚本。我必须做什么才能使用例如 date:add() 函数?一个非常简单的脚本应该是什么样的?非常感谢,彼得
2 回答
最新的三个版本的 Visual Studio(2010、2008 和 2005)都使用 .NET XslCompiledTransform XSLT 处理器。XslCompiledTransform 没有实现任何 EXSLT 函数,除了common:node-set()
-- 所以在这里你不走运。
我认为在 Visual Studio 中使用其他 XSLT 处理器没有一种简单自然的方法,即使有一些技巧可以做到这一点,在这种情况下也无法进行 XSLT 调试。
最后,EXSLT 通常提供一些 EXSLT 功能的有限 XSLT 实现。当然,这没有那么强大和方便,但你可以走那条路。
我个人的建议是开始使用 XSLT 2.0,它比 XSLT 1.0 强大得多,以至于在 XSLT 2.0 应用程序中几乎不需要使用 EXSLT。
当然,VS 中不支持 XSLT 2.0,但是还有其他出色的 IDE,例如 oXygen,其中提供了很好的 XSLT 2.0 和 XQuery 调试器。
更新:您可以为 XslCompiledTransform 使用 EXSLT 的第 3 方实现:MVP-XML 项目的 EXSLT .NET 模块。
您还可以使用 msxml:script 标记在 XSLT 中包含您自己的函数。这适用于简单的功能,也可以在 VS2005 及更高版本中调试,例如
<msxml:script implements-prefix="user">
<![CDATA[
function toUpperCase(str)
{
return str.toUpperCase();
}
]]>
</msxml:script>