福嶋です。 Hiroshi Igarashi <igarashi / ueda.info.waseda.ac.jp> wrote: > 私もRuby/GTKのAPI一覧をXMLで作りかけていたところです。 > GTKモジュールはクラスが100以上あって、おそらく拡張 > モジュールとしては最大級のものだと思います。そのAPI一覧を > HTMLで書くのは無謀だと思いまして、XMLにしました。 すごいですね。私も Ruby/GTK のドキュメント欲しいです。 多分、自分の他にも XML で ruby の API を書いている人はいるとは思って いましたが、まさか物理的にこんなに近くにいるとは思いませんでした。 # 例えば、廊下を2本はさんだ向こう側とか... (^^) > XML→他のフォーマット の変換方式は色々あるでしょうが > まずソースとなるXML形式でのDTDをしっかり決めたいですね。 > もちろんXML以外でふさわしい形式があればそれでもいいのですが。 そうですね。まずは DTD を決めるのが先決だと思います。 私の考えた形式は短い例で示すと以下のようなものです。 <class> <name>String</name> <desc> 文字列クラス. </desc> <instance_methods> <method> <usage>each([rs]) {|line|...}</usage> <usage>each_line([rs]) {|line|...}</usage> <desc> 文字列中の各行に対して繰り返します.行の区切りは <var>rs</var>で指定します.<var>rs</var>のデフォルト値は変数 <r>$/</r>の値です. </desc> </method> </instance_methods> </class> この DTD を設計した時の基本方針は、「ドキュメント作成者が少しでも 楽に書けること」です。 具体的には o <usage>each([rs]) {|line|...}</usage> と書くだけで、each がメソッド名、rs は引数名、line はブロックへの 引数だと自動的に判断してほしい。これをわざわざドキュメント作成者が 明示的にに示さなければならないのは面倒。そして HTML に変換する時 にはその情報に従って、 <code>each([<var>rs</var>]) {|<var>line</var>|...}</code> といったタグづけをして欲しい。 o <r>$/</r> <r>Fixnum</r> とか書いたら、HTML に変換する時には自動的に variable.html#slash や Fixnum.html にリンクを張って欲しい。 などです。こういったことを実現するためには、 Style Sheet + 汎用の XML アプリケーション(変換ツール含む) では出来なそうに思えました。 # それとも私が知らないだけで、汎用の方法で可能なのでしょうか? そういうわけで、今 HTML への変換ツールを作っています。 他の方の意見もぜひ聞いてみたいです。 --- 福嶋正機