java 在处理 FPML 的 XSLT 转换时验证错误
java verify error while processing XSLT transform for FPML
我正在将 FPML 转换为规范 XML 使用 X-S-L-T 转换,使用带有 java 1.7 TransformerFactory 的 xslt 1.0。
2000 多行带有多个 when 和 for-each 标签的 X-S-L-T 一切正常,但是一旦我添加了几行代码它就崩溃了。当我删除一些代码行时,它又开始正常工作了。
所以我想知道在 XSLT 文件中可以使用多少行代码有任何限制。
这看起来确实像是 XSLT 处理器中的错误。这可能是也可能不是因为 XSLT 代码的大小。您可以尝试将 XSLT 代码分解成更小的单元(模板),看看是否能解决问题。或者您可以看看是否有一种方法可以禁用 XSLTC 的字节代码生成,这是发生故障的地方(Xalan 具有解释和编译的执行模式)。
您当然也可以切换到 Saxon - 在 Java 平台上,真的没有理由使用现在已有近 20 年历史的 XSLT 版本,即使要求非常简单,您也会得到XSLT 2.0 和 3.0 中的新特性显着提高了生产力。
我正在将 FPML 转换为规范 XML 使用 X-S-L-T 转换,使用带有 java 1.7 TransformerFactory 的 xslt 1.0。
2000 多行带有多个 when 和 for-each 标签的 X-S-L-T 一切正常,但是一旦我添加了几行代码它就崩溃了。当我删除一些代码行时,它又开始正常工作了。 所以我想知道在 XSLT 文件中可以使用多少行代码有任何限制。
这看起来确实像是 XSLT 处理器中的错误。这可能是也可能不是因为 XSLT 代码的大小。您可以尝试将 XSLT 代码分解成更小的单元(模板),看看是否能解决问题。或者您可以看看是否有一种方法可以禁用 XSLTC 的字节代码生成,这是发生故障的地方(Xalan 具有解释和编译的执行模式)。
您当然也可以切换到 Saxon - 在 Java 平台上,真的没有理由使用现在已有近 20 年历史的 XSLT 版本,即使要求非常简单,您也会得到XSLT 2.0 和 3.0 中的新特性显着提高了生产力。