XML 拡張でのメモリ管理

実行時、XML 拡張では、メモリを割り当て、スタイルシートおよび XML ドキュメント処理プロセスのその他の成果物をキャッシュします。これは、パフォーマンスを向上させる一般的な手法で、メモリ使用量が増える代わりに実行時間が短縮されます。ただし、異なる XML ドキュメントを大量に処理する長期実行のプログラムでは、メモリ割り当てが増加してパフォーマンスが低下する可能性があります (一般的には仮想メモリのスワップによる)。例として、あるプログラムで、XML ドキュメントがディレクトリに配置されるのを待機して、ループ処理を行っているとします (XML FIND FILE の例を参照してください)。

このプログラムでは、XML TERMINATE 文を使用して、実行単位のために XML 拡張によって割り当てられたすべてのメモリ (XML GET TEXTXML EXPORT TEXT、および XML TRANSFORM TEXT 文によって返されたドキュメントを除く) を解放することができます。ただし、追加の XML ドキュメントが処理される前に XML 環境を再確立するために、XML INITIALIZE 文およびオプションの動作を制御するその他の XML 拡張文 (XML ENABLE ALL-OCCURRENCES など) を呼び出す必要があります。

また、XML FLUSH CACHE 文を使用してキャッシュされたドキュメントをフラッシュし、XML DISABLE CACHE 文を使用してドキュメントのキャッシュを防止することもできます。メモリ使用量を管理するこれらの方法では、XML TERMINATE 文よりもスイープが少なくなります。

XML CLEAR XSL-PARAMETERS は、設定されたパラメーターの名前と値のペアに使用されているメモリをすべて解放し、キャッシュやその他のメモリの使用を妨げることがありません。XML FREE TEXT 文は、XML EXPORT TEXT 文または XML TRANSFORM TEXT 文によって割り当てられたメモリを解放します。