パーサを書き直すことにした件

結局、StAXのパーサが環境によって異なる位置情報を返す問題は、同梱されている実装クラスが異なりどうにもならない、という結論に達しました。少なくともJava6に同梱されている実装(sum実装)ではうまく動かないのでどうにもならないです。なので書き直すことに決めました。とはいっても、骨組みが変わるわけではないので位置情報の取得に関して色々と手を加えています。
とりあえず修正してみたところ、テストが約150件中約50件が失敗です。幾つか修正していくと30件まで減りました。やはり単体テストをしっかり書いておくということは重要です。テストがすべて通る状況になれば良いので書き直すリスクが最小限になるわけです。こんなにメリットがあるのにやらないというのは不思議な話ですよね。