【发布时间】:2012-06-08 11:38:29
【问题描述】:
我通常使用 JDK (JDK 7) 中的 XSLT 支持来进行 XSLT 转换。最近我遇到了一个相当大的 XML 文档,并且对其应用 XSLT 转换(即使是非常基本的转换)会导致使用大量内存。
我一直小心翼翼地处理所有流式处理,但似乎 JDK 中的 XSLT 引擎(似乎是经过修改的 Xalan)总是首先在内存中构建 DOM。显然这不是我想要的。
现在我发现单独提供的 Xalan(2007 年的 2.7.1!)确实有一个用于进行增量转换的 API。因此,虽然这似乎确实有效,但我实际上希望我的代码在股票 JDK 上运行,而不是告诉用户摆弄任何认可的文件夹。
在 Java 中进行增量 XSLT 转换以使我的代码与未修改/库存 JDK 安装兼容的最佳方法是什么?
更新: 这个最近更新的问题密切相关:What is the Most Efficient Java-Based streaming XSLT Processor?
【问题讨论】:
-
试试这个链接 - devx.com/xml/Article/34677/1954 - 请参阅标题为“迭代 2:分而治之 JAXP XSLT 转换”的部分