我尝试了几个测试,我搜索任何解决方案,但我找不到任何东西。 我必须在XSLT中调用我的Java函数。我最后的解决方案,我认为最好的是以下,我用
宣布我的班级的Xalan:
<xsl:stylesheet version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:printAnno="StampaAnnoUtil"
extension-element-prefixes="printAnno">
<xalan:component prefix="printAnno"
elements="isStampaAnno" functions="isStampaAnno">
<xalan:script lang="javaclass" src="java:it.dpe.common.util.StampaAnnoUtil"/>
</xalan:component>
我打电话给我的功能:
<xsl:value-of select="printAnno:isStampaAnno()"/>
我直接在我的Oxygen编辑器中收到错误,如果我尝试编译报告,我得到:
fo:页面序列缺少子元素。
{printAnno:isStampaAnno()}中第652行的字符24处的F XPath语法错误: 找不到名为{StampaAnnoUtil} isStampaAnno()的匹配0参数函数。
错在哪里? XSLl位于数据库中,但是当我转换它时,它就在我的路径中。
答案 0 :(得分:0)
你可能只是忘了用Oxygen注册你的jar文件。必须知道您的函数的实现。您发布的定义就像胶水一样,但您仍然需要提供您想要粘合在一起的内容。尝试以下(或类似的东西,自从我使用氧气以来已经很久了):