色々やっているうちに見つけたページ。March 2007 Sandcastle CTP ベースでいこうと思ってるので、今のところこの日本語化版は実際には使っていない。
前回の「指定されたコード ページに変換できません」の件は、 C:\Program Files\Sandcastle\ProductionTransforms\ にある ReflectionToChmIndex.xsl, ReflectionToChmProject.xsl の2ファイルの中で
<xsl:output method="text" encoding="iso-8859-1" />
と出力エンコーディングを Latin1 に指定してあったから。
この部分を encoding="UTF-8" に変更したら、一応エラーは出なくなったが、やはり出力される TOC が化ける。 次に encoding="CP932" に変更したら失敗、encoding="Shift_JIS" にしてもまだダメ。(encoding="Shift_JIS" にすると、XslTransform の結果が Shift_JIS で出力されるところまでは確認)
HTML Helpの作成方法(応用編)ヘルプのローカライズより、hhp ファイルの Language のところも変更が必要。 ReflectionToChmProject.xsl 内に以下の部分があるので、 0x409 Japanese に書き換える。
<xsl:text>Language=0x409 English (United Status)
</xsl:text>
これで無事出力されるようになった。
しかし XSL は遅い。XML でプログラムちっくな挙動を記述するのはいけてないと思う。
あと、C#コードに埋め込んだ summary などのXMLドキュメント部分が入ってない。どうなっとるんだ。