xslt - 在 XSLT 1.0 中创建 XPath 函数

标签 xslt xpath xslt-1.0

我正在寻找如何在 XSLT-1.0 中创建我自己的 XPath 函数。例如,我有一个简单的 XPath 表达式,我在 XSLT 模板中一次又一次地使用它。我想创建自己的 XPath 函数 myOwnFunction($var)它调用 XPath 表达式。

示例表达式:

normalize-space(substring-after(substring-after($var, '-'), '-'))

最佳答案

前两个答案说明了一切:XSLT 1.0 没有提供创建可从 XPath 表达式中引用的函数的方法。

如果有人想要这样的功能,他们应该开始使用 XSLT 2.0(并使用标准 <xsl:function> 指令),或者:

  • 使用 <func:function> EXSLT 提供的扩展元素。请注意,很少有 XSLT 1.0 处理器实现此扩展元素。
  • 使用特定的 XSLT 处理器功能(如果存在)。对于 .NET 平台,可以使用 XsltContext类,IXsltContextFunction界面和技术,如 this .

  • 无论如何,这一切都不是 XSLT 编程,所以我的建议是开始认真使用 XSLT 2.0。

    关于xslt - 在 XSLT 1.0 中创建 XPath 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246222/

    相关文章:

    java - 在流模式下使用 StAX 读取 XSL 转换的结果

    xml - XPath/XSLT : how to select all elements that satisfy a condition involving another set of elements

    xml - Altova XMLSpy XSLT 转换器和 Saxon XSLT 转换器之间有什么区别?

    xml - 找不到匹配项时如何让 XPath 返回占位符默认值?

    javascript - 使用 Javascript 作为 XSLT 转换的一部分时如何传递参数

    xml - 使用 XSLT 从 XML 中写入数据列与 Excel 中的行

    java - 从 XML 与 JAVA 对象创建 HTML

    perl - Mojo::DOM - XPath - 问题

    java - 使用 XPath 从 WSDL XML 中提取对象列表

    xml - 在 xslt 模板中创建 key