NDocを.NET2.0日本語環境で使う方法 1

一番良いのはNDoc日本語版のチームに動いて頂くことなのだが、フォーラムに投稿するも反応が無い。ので、自分のためにも、一通り日記に書いた方法のサマリを書いておく。

  • NDocの最新版をダウンロードする

Jonas lagerblad氏が改版した.NET2.0対応版が、氏のBlogよりダウンロードできるBack to NDoc - for a short while

  • 日本語コードページ環境上での文字化け対策を行う

以前の日記((続)NDoc2.0 hold?)で書いたが、この、最新のNDocは、ノーブレークスペースの為に多用している文字コード("&#160")が、日本語コードページ上では文字化けしてしまうため、なんらかの対策が必要である。

  • 1. NDcocアプリケーション側で対応する

NDocはいろいろなフォーマットのドキュメントを生成するために内部でXMLを作成し、それをXSLTに変換するのだが、XSLTの変換後、出力する前に、問題の文字コードを変換してしまう方法だ。(NDoc日本語版はこの方法を採用している)

string html = stringWriter.ToString().Replace("\xA0", " ");
[NDoc日本語版 v1.3.1-rev1 MsdnDocumenter.csより引用]
  • 2. NDcocで用意されているXSLTで対応する

上で書いている通りNDocは様々なフォーマットに対応するためにXSLTを使用している。そのXSLTで問題のある文字コードの代替となる文字コード、具体的には"&#160"を"&#32"に変更してやることで文字化けを回避する方法だ。これは私の日記で採りあげている。

(更に)NDoc メンバ情報部分の文字化け
(続)NDoc メンバ情報部分の文字化け

この方法は最初の、アプリケーションで対応する方法と違い、コードページによりソースコードを変える必要が無いので良い方法だ。ソースコードをコードページ毎に管理するよりもXSLを管理した方が楽だろう。

以上が、現時点で.NET2.0 + 日本語環境でNDocを使うための処方だ。