Firefox の XSLT エンジンを使用して、大きな XML ドキュメントを変換しています。このファイルが Firefox には大きすぎると、ブラウザがフリーズするだけです (Mac OS - i7 では、Windows - コア 2 デュオよりもはるかに早いのですが、驚くべきことです)。
プロセスを簡単にする方法として、XML ファイルを小さな部分に分割し、順次変換しています。これにより、物事(および速度)が大幅に改善されました。ただし、ファイルがまだ大きい場合は、同じ症状が発生します。
今、私が考えているのは、transformToFragment
関数が非同期であるということです。これは、前の変換が完了する前に次の変換を開始していることを意味し、最後にブラウザー (および実際にはコンピューターも) をブロックします。
次に、プロセスを続行する前に信頼できるイベントが見つかりません。誰もそれを行う方法を知っていますか?