gpt4 book ai didi

function - 创建自定义 XSLT 函数

转载 作者:行者123 更新时间:2023-12-04 18:45:04 24 4
gpt4 key购买 nike

我正在尝试创建自定义 XSLT 函数,但每次收到此错误时:

'非静态 Java 函数 'compareCI' 的第一个参数不是有效的对象引用。

  <xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:foo="http://whatever">

<xsl:function name="foo:compareCI">
<xsl:param name="string1"/>
<xsl:param name="string2"/>
<xsl:value-of select="compare(upper-case($string1),upper-case($string2))"/>
</xsl:function>

<xsl:template match="/">
<xsl:value-of select="foo:compareCI('red','blue')"/>
</xsl:template>

</xsl:stylesheet>

我希望你们中的某个人可以帮助我。非常感谢。

最佳答案

我认为您正在尝试使用 Xalan 来运行它,Xalan 是一个 XSLT 1.0 处理器,因此无法识别 xsl:function。发生的事情是 (a) Xalan 忽略了 xsl:function,因为 XSLT 1.0 处理器被赋予一个指定 version="2.0"的样式表应该忽略它不理解的东西(在规范中称为“向前兼容模式” );然后当它看到对 foo:compareCI() 的函数调用时,它认为这一定是对外部 Java 方法的调用。

您需要使用 XSLT 2.0 处理器(通常是 Saxon)来运行它。

关于function - 创建自定义 XSLT 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16164205/

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