nbsp
TBをいただいてNDocの何が問題なのかは分かりました。ありがとうございます>Kazzzさん。で、id:Kazzz:20060214:p3 より
- " "を" "に変換する
× XSLTでは"&nbsp;"のような実体参照を認識しない。- <xsl:text disable-output-escaping="yes"> </xsl:text>を使う
× "&nbsp;"がそのまま使えないのであれば、XSLのdisable-output-escaping要素を使えば通ると思ったのだが、効果無し。- <xsl:output method="html"〜>を使う
× method="html"に対応しているプロセサであれば"&#160;"は化けないということを仕入れてきたのだが、これも効果無しと、XSLTで"&nbsp;"を扱う常識が全く効かないのである。 文字列のレベルで置換をしているコードに改めて納得したのだが、本当にこの方法しか無いのだろうか。
これはどちらかというとXmlWriterサイドの問題なので、XSLTサイドで解決しようというこれらのアプローチは、実はどれも成功しないのです。NDocハカーには、カスタムXmlWriterを使って\u00A0をなまの文字ではなく に書き換えちゃえば良いんじゃないか、ということを提案してみましたが、これはバッドノウハウの類で、あんまし美しい解決策ではありません。UTF-8を使うなり、 を回避するなりするのが適切でしょう。