Toshです。

In message "[ruby-list:22319] Re: ruby-man.rd (Re: Can't Use optparse)"
    on 00/05/06, Koji Arai <JCA02266 / nifty.ne.jp> writes:
>今のRDは"label:xx"という番号をフォーマッタが勝手につけるから
>それを参照するのに参照先を確認しないといけない、だから中間ファ
>イルみたいなのが必要なわけですよね。
>
>参照先の名前がわかっていれば、別に中間ファイルは必要ないはず
>ですから、素直に
>
>o foo.rd
>((<bar.rd/bar>))
>
>o bar.rd
>= bar
>
>の変換を
>
>o foo.html
>bar
>
>o bar.html
><H1><A NAME="bar">bar</A></H1>
>
>とできればいいのでは、と思ったんです。
>
>で、ラベル重複の問題が出るわけだけど、ファイル指定ができるよ
>うになったから別にいいかな、と。

あ〜、なるほど。
現状でMethodListでだけこういうことをやってます。

他でやってないのは、はっきりした理由はもう忘れちゃいましたが、

  * アンカーに使える文字の集合はRDのラベルよりはるかに小さい
  * だから使えない文字を変換してやらないといけない
  * 特に日本語のRDとかの場合だとかなり派手な変換をしないと。
  * これだけ大きな処理を出力フォーマット毎に別々に実装するのは
    無駄が多いので、出力には依存しないようにしたい。
  * でもどのフォーマットでもラベルに使える文字の集合ってどの程度?
  * こうすると、日本語のラベルとかを使ったりする時にはかなり長い
    アンカーになりそう。
  * でもラベルの長さに制限があるフォーマット/処理系もあるかも?

とかが結局採用してない理由だと思います。

これも、これを機にもう一回考え直してみましょう。

---
Tosh
Toshiro Kuwabara