私は通常、XSLT変換にJDK(JDK 7)のXSLTサポートを使用しています。最近、かなり大きなXMLドキュメントに出くわしました。これに、XSLT変換(非常に基本的なものでも)を適用すると、大量のメモリが使用されます。
私はすべての処理ストリーミングを慎重に行ってきましたが、JDKのXSLTエンジン(変更されたXalanのように見えます)は常に最初にメモリ内にDOMを構築しているようです。明らかに、これは私が望むものではありません。
個別に入手できるXalan(2007年から2.7.1!)には、増分変換を行うためのAPIがあることがわかりました。したがって、これは機能しているように見えますが、実際には、承認されたフォルダーをいじるようにユーザーに指示せずに、コードをストックJDKで実行する必要があります。
コードが変更されていない/ストックのJDKインストールと互換性があるように、JavaでインクリメンタルXSLT変換を行うための最良の方法は何ですか?
更新:この最近更新された質問は強く関連しています:最も効率的なJavaベースのストリーミングXSLTプロセッサーは何ですか?