我有这个简单的测试:正则表达式中的XSLT 1.0使用Java
<xsl:if test="boolean(java:java.util.regex.Pattern.matches('a', 'a'))">
<xsl:message terminate="no">success</xsl:message>
</xsl:if>
尽管它抛出这个错误:
ERROR: 'Cannot convert argument/return type in call to method 'java.util.regex.Pattern.matches(string, string)''
FATAL ERROR: 'Cannot convert argument/return type in call to method 'java.util.regex.Pattern.matches(string, string)''
我知道,Java工具的工作,如下面的代码编译罚款:
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('dd/MM/yyyy, hh:mm a'), java:java.util.Date.new())"/>
我错误地使用了Pattern.matches()
还是有一个我错过的技巧? 我似乎无法在xslt中找到关于java的任何可靠文档。
我已经宣布了Java命名空间在我的文档的顶部:
xmlns:java="http://xml.apache.org/xslt/java"
感谢您的解释,马库斯。我明白,这不仅仅是“这是一个有效的解决方案”。这已经清除了我在xslt中使用java时遇到的一些拦截器。 –
@XavierDass谢谢。我只是意识到我忘了添加你也要求的文档链接。查看更新的答案以获取更多信 – Markus