需要在Tomcat std out日志文件中禁止"警告:使用XSLT 2.0处理器运行XSLT 1.0样式表"

use*_*447 12 xslt suppress-warnings

我在我当前的项目中使用xslt转换.原始的xslts是用样式表1.0格式编写的.该项目在Apache Tomcat服务器上运行.在来自服务器的输出日志中,警告:

Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
Run Code Online (Sandbox Code Playgroud)

从Tomcat不断打印到std out日志.我尝试将样式表版本号更改为"2.0",但是我的项目的一部分在变换器之后没有获得正确的数据.我想解决此问题的唯一原因是因为日志文件占用了太多内存空间.那么有谁知道如何抑制特定Tomcat服务器的警告?抑制这一特定警告将是首选,但任何意见都非常感谢.谢谢.

Dim*_*hev 11

你不能用XSLT 1.0处理器运行转换吗?

如果答案是否定的,那么使用XSLT 2.0处理器运行XSLT 1.0转换并不是一个好主意.

我的建议是将version属性更改<xsl:stylesheet>为2.0并调试代码,以便生成正确的结果.这消除了警告以及向后兼容模式的任何不良副作用(例如仍使用XPath 2.0 XDM).


rus*_*tyx 5

如果您使用的是Saxon 8+ XSLT 2.0处理器,则可以在调用Transformer时抑制此警告,如下所示:

TransformerFactory tf = TransformerFactory.newInstance();
tf.setAttribute("http://saxon.sf.net/feature/version-warning", Boolean.FALSE);
Transformer t = tf.newTransformer();
t.transform(xmlSource, outputTarget);
Run Code Online (Sandbox Code Playgroud)

如果您在XMLUnit中收到错误,可以将XSLT版本设置为2.0,如下所示:

XMLUnit.setXSLTVersion("2.0");
Run Code Online (Sandbox Code Playgroud)

注意:

对于命令行Saxon调用,运行Saxon,如下所示: saxon -versionmsg:off