CGI-BBS > 電子掲示板 > WWWBBS > ツリー構造の表示時のDLの文法について


カレッヂ
カレッヂ


質問者 鉄Cello  投稿日 10/11(木) 16:26:21
初めまして。CGIやHTMLを勉強してるのですが、よく解らない事が
出てきてしまったので、ご存知の方、教えていただけませんか?

WWWBBSのツリーの表示は、

(例1)
<DL>
<DT>親発言
<DL>
<DT>子発言1
<DL>
<DT>孫発言
<DD><!−−孫発言−−>
</DL>
<DD><!−−子発言1−−>
</DL>
<DL>
<DT>子発言2
<DD><!−−子発言2−−>
</DL>
<DD><!−−親発言−−>
</DL>

となっていると思います。(間違っていたら、ご指摘ください)

ですが、HTMLの教科書等では

<DL>
<DT>定義語
<DD>定義
</DL>

となっていて、(一般的には)「定義」の部分がインデントされて表示されるのでは?

ですから、前述の例では文法上、

(例2)
<DL>
<DT>親発言
<DD>子発言1
<DL>
<DT>
<DD>孫発言
</DL>
<DD>子発言2
</DL>

このように出力されるべきではないのでしょうか?
実際、Netscape6 では、WWWBBSの出力はきちんと表示できませんが
このようにすれば、問題なく表示されます。

どこかの質問の回答に、Netscape側のバグとありましたが、
例1では、<DT>のあと、<DD>が無くてもインデントしてしまうことになり、
解釈としては Netscape6 の方が正しいように思いますが、いかがでしょうか?

回答者 呑兵衛  [削除]  投稿日 10/14(日) 00:46:45
呑兵衛@大阪です。
はいそれで正しいと思います。

ただ、trees は このタグをインデント用に使っており、
また、tree を再現する際の .tre ファイルにも用い、
削除された際の記事の管理も、このタグをターゲットに行われています。

なので、教科書どおりにこのタグを使うと、trees.cgi の構成を
かなりいじらねばならない面があります。

ほかに、記事の表示だけなら <ul> を使う方法もありますね。
質問者 鉄Cello  [削除]  投稿日 10/15(月) 01:58:51
呑兵衛さん、どうもありがとうございます。

HTML もようやく少し分かってきたかと、自信になります。

WWWBBSで勉強させていただいたときに、ツリー構造部分の表示が
よく分からなくって、その時は途中で放棄してしまいました。
(言ってみれば)ブラウザのバグをうまく使ったものであるという事なのですね。

でも、できるのなら次のバージョンで、初心者の勉強の手助けとなる
スクリプトとなって欲しいなぁと思います。


以前聞いたことがある気がしたので、調べてみました。
WWWBBSは、IE5(Mac版)でもきちんとツリーを表示する
ことは出来ないのですね。NN4.7 はOKでした。
やはり、文法通り、そしてきちんと表示できるように、なってくれるといいなと
思いました。
回答者 しあわせのツボ  [削除]  投稿日 10/15(月) 05:07:53
細かいことを言うと、「文法的には」間違っていない、という言い方もできます。
ddの表現方法について規定がある訳ではなく、たまたま、よく使われるブラウザがそれをインデントするだけのことです。
これはHTML全般においてそうで、たとえば<kbd>要素の表現方法はNetscapeとIEで異なっています。

もっとも、掲示板の内容が定義語と定義かと言えばそれは違うので、語法的にはやはり正しくありませんし、結果として意図と異なる表示になるので、改めた方がいいことには違いありませんが。
質問者 鉄Cello  [削除]  投稿日 10/16(火) 16:20:33
しあわせのツボ さんありがとうございます。

確かにインデントをするという規定は無いでしょうから、表示上インデントされなくても
おかしくは無いでしょうね。ブラウザによって違う表示をされても文句は言えないです。
透明な画像を幅を指定して貼り付けるような事をしないと本当はいけないのかも
しれませんね。

ただ、<DT>の後、<DD>を出さずにインデントされるのを期待するのは使い方
として正しくないでしょうし、正しくない使い方のおかげで表示が期待通りではないのは
あたりまえです。

>...結果として意図と異なる表示になるので、改めた方がいいことには違いありませんが。
賛成して頂いて、どうもです。
次のバージョンアップ(あるのだろうか?)に期待をすることにします。

返信(回答)する


Web裏技