如何在xslt文件中调用外部java函数?

2023-11-30

我有这个 xslt 文件,我需要调用放置在同一应用程序中其他位置的 java 函数。 在 xslt 文件中我有

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
                xmlns:java="java" 
                xmlns:test_my="vobs.plugins.WikiParser.WikiParser"
                version="2.0">
  <xsl:output indent="yes" method="html"/>
  <xsl:template match="/">
    <H1>
      <xsl:value-of select="WikiDescription/Title"/>
    </H1>
    Summary: <xsl:value-of select="WikiDescription/Description"/>
    <xsl:variable name="text">                      
      <xsl:value-of select="WikiDescription/Text"/>
    </xsl:variable>
    <p>
      <xsl:value-of select="test_my:parse2($text)" 
                    disable-output-escaping="yes"/>
    </p>

但是当我尝试执行这个 xslt 文件时,出现以下错误

XSL transform reported error: 
XPath syntax error at char 21 on line -1 in {test_my:parse2($text)}: 
Cannot find a matching 1-argument function named 
{vobs.plugins.WikiParser.WikiParser}parse2()

似乎找不到 java 类,那么正确的方法是什么?一些代码示例会更好。提前致谢!


我遇到了完全相同的问题,这为我解决了这个问题urn:java: and java:都失败了。

假设您使用 Xalan 进行转换,您应该更改xmlns:test_my="vobs.plugins.WikiParser.WikiParser" to xmlns:test_my="xalan://vobs.plugins.WikiParser.WikiParser".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在xslt文件中调用外部java函数? 的相关文章

随机推荐