SimpleIsm

di要素

HTML

Re: dl要素の仕様についての疑問の言及について。

「dl要素でグルーピングされてるのじゃ不便なのかな。」それはリストと呼べるのだろうか。そう言えるにしても、セマンティクスが異なる気がする。

何を持って「リスト」と定義しているのか分からないのでアレですが、現時点での仕様(HTML 4.01とかXHTML 1.0 and 1.1)だと、(人間が理解する)リストとは呼べないと思います(機械的に見るならDefinition Listで囲っているのだから、それはやはりリストなのだ。と考える)。

<dl>
   <dd>りんご<dd>
   <dd>みかん<dd>
   <dd>バナナ<dd>
</dl>

現時点での仕様では<!ELEMENT dl (dt|dd)+>なため、上記のような書き方でも違反にはなりませんが、dd要素はDefinition Description(定義語の説明)なので、とてもリストとは呼べないと思います。今回はdl, dt, ddの順序で記述した場合ということで進めます。

<dl> = Definition List(定義語リストを開始)
   <dt>りんご</dt> = Definition Term(定義語)
   <dd>赤い色をした丸い果物</dd> = Definition Description(定義語の説明)
</dl> = Definition List(定義語リストを終了)
<dl> = Definition List(定義語リストを開始)
   <dt>バナナ</dt> = Definition Term(定義語)
   <dd>黄色い色をした細長い果物</dd> = Definition Description(定義語の説明1)
   <dd>原産地は熱帯アジアやマレーシアなど</dd> = Definition Description(定義語の説明2)
</dl> = Definition List(定義語リストを終了)

上記をXHTML 2.0 - XHTML List Moduleに当てはめたのが以下。

<dl> = Definition List(定義語リストを開始)
   <di> = Definition Item(定義語アイテム1(項目とか種目って意味?)を開始)
      <dt>りんご</dt> = Definition Term(定義語)
      <dd>赤い色をした丸い果物</dd> = Definition Description(定義語の説明)
   </di> = Definition item(定義語アイテム1を終了)
   <di> = Definition Item(定義語アイテム2を開始)
      <dt>バナナ</dt> = Definition Term(定義語)
      <dd>黄色い色をした細長い果物</dd> = Definition Description(定義語の説明1)
      <dd>原産地は熱帯アジアやマレーシアなど</dd> = Definition Description(定義語の説明2)
   </di> = Definition item(定義語アイテム2を終了)
</dl> = Definition List)定義語リストを終了)

上記のようになるわけだけども、di要素を使うのと使わないので何が違うの?ってことが言いたいわけ。仕様内容の違いなのなら、わざわざdi要素を新たに作らなくても、dl要素を<!ELEMENT dl (dt&dd)+>に変更すればおkでしょ? dl要素でグルーピングすることがなぜリストと呼べないのか(先ほど述べたdd要素はDefinition Description(定義語の説明)なので、とてもリストとは呼べないというような理由なら納得です)、なぜセマンティクスが異なるのか、そこが疑問です。

2009/04/16(Thu) 00:52
<<前の記事
雑記その81
次の記事>>
○○usersを表示する

Category

Archives