我正在使用XSLT1.0和java 1.7 TransformerFactory使用X-S-L-T转换将FPML转换为规范的XML。
使用具有多个when和for-each标记的X-S-L-T行的2000+可以很好地工作,但是一旦我再添加几行代码,它就崩溃了。当我删除一些代码行时,它又开始正常工作了。所以我想知道在一个XSLT文件中可以使用多少行代码有什么限制。
发布于 2019-01-08 19:03:28
这看起来绝对像是XSLT处理器中的一个bug。这可能是也可能不是因为您的XSLT代码的大小。您可以尝试将XSLT代码拆分成更小的单元(模板),看看这是否能解决问题。或者,您可以查看是否有方法禁用XSLTC的字节码生成,这就是故障发生的地方(Xalan具有解释和编译两种执行模式)。
当然,您也可以切换到Saxon -在Java平台上,确实没有理由使用现在已有近20年历史的XSLT版本,即使有非常简单的要求,您也可以从XSLT 2.0和3.0中的新特性中获得相当大的生产力优势。
https://stackoverflow.com/questions/54083837
复制相似问题