XML パーサへの API は SAX と DOM が代表的である.
- SAX … XML 文書を1行ずつ順番に読み出す.メモリをあまり必要としない.ランダムアクセスに向かない.
- DOM … XML 文書を1つの木構造に変換する.メモリがたくさん必要.ランダムアクセスに向く.
Xalan が提供する XPath の機能は DOM によるものらしく,UniProt の XMLファイル (1GB 弱) を扱おうとすると,OutOfMemoryError で強制終了する.
JavaVM の最大ヒープサイズ (-Xmx オプション) を 1.5GB くらいに設定してもまだ落ちる.
もうだめぽ.