From: IKARASHI Akira Date: 1999-02-04T12:55:56+09:00 Subject: [ruby-dev:4681] Re: cookie on cgi-lib.rb 五十嵐です。 Wakou Aoyama writes: >CGI.message が良くないと思われるのは、機能と名前が不明確であるという点 >です。CGI のメッセージとは何か、エラー出力や簡易メッセージの出力ならば、 >text/plain の方が適切ではないか、そのようなあたりです。 そうですね。機能と名前が一致しているかは疑問ですね。 CGI.messageかどうかはともかくとして、まわりを見ていると HTTPヘッダの 出力を忘れてハマる例があるので、HTTPヘッダとHTMLをまとめて出力するAPIが あると救われる人は多いと思います。そんなに大したことではないのですが。 >また、HTML の出力としても間違った出力の元になりやすいという事もありま >す。 これは、どういうことでしょう? 「間違った出力」というものを出したことがないので...。 >つまり、P エレメントを自動的に付加してしまう CGI.message は機能的にも >制限があり、標準的機能としては不適切と思われるわけです。 手元の cgi-lib.rb では、P エレメントの付加といったことはしないのですが。 1.2系列と1.3系列で違うんでしょうか? >ところで、この CGI.tag というのは面白いアイディアですね。次のような感 >じにすると汎用性のあるインターフェイスになりますが、いかがでしょう。 イテレータはこういうふうに使うんですね。 勉強になります。 あと、ちょっと気になったのですが、 + def CGI.tag(element, attributes = {}) + "<" + escapeHTML(element) + attributes.collect{|name, value| + " " + escapeHTML(name) + '="' + escapeHTML(value) + '"' + }.to_s + ">" + + (iterator? ? yield.to_s + "" : "") end で、escapeHTML()を呼んでいるのですが、escapeHTML()が呼ばれるのは、 (置換が行なわれるのは)イリーガルな事態だという感じがするのですが、 タグ内部で( <ここ> ) で、&や",<,>を使う例はあるのでしょうか? 問題があるわけではないのですが、必要なのかわからなかったので。 -- 五十嵐 晃(ikarashi@itlb.te.noda.sut.ac.jp)