xalanでUTF-8を開く

 xalanをプロセッサに使ってUTF-8エンコードされたXMLファイルをXSLTで変換しようとしたらうまくいかないのです.

 よくよく見れば一部のファイルはちゃんと変換してくれているのです.いったい何がどうなっているのだろうと調べていくうちにどうもUTF-8Nでなければちゃんと読み取ってくれてないことが発覚しました.ところが,このマシンのエディタではUTF-8Nで保存が出来ないんです.今度はUTF-8Nで保存されたファイルがどうして存在しているのか?という疑問が.
 
 で,いろいろいじっているうちにVisualStudioで開いて閉じると,UTF-8がUTF-8Nに変わることがある事が判明しました.いつも変わるなら良いのだが,変わらないファイルもある.なんなんだそれは!

 全部がUTF-8Nになればよかったんですが,一ファイルだけどれだけ開いて閉じ手を繰り返そうともUTF-8のままのファイルがあったため,あきらめてShift-JISで保存し直して作業しました(泣)

 ちなみに調べていて知って驚いたんですが,UTF-8で保存されたXMLはVSSに補完することが推奨されていないらしいのです.えー,俺の書いたXMLUTF-8ばっかりなんですけど……

 マイクロソフトは怖いという結論で良いのでしょうか.

 ちなみにUTF-8NというのはテキストファイルがUnicodeなのかどうかを判定するための材料であるBOMが存在しないファイルのことです.