* dl 要素型 (HTML, XHTML 1) [6] [DFN[[CODE(HTMLe)[dl]] 要素型]]の [Q[dl]] は、 [Q[definition list]] (定義並び) の略です。 [CODE(HTMLe)[dl]] は、用語 ([CODE(HTMLe)[[[dt]]]]) と説明 ([CODE(HTMLe)[[[dd]]]]) で構成します。 [14] 仕様書: - [[HTML 2.0]] -- [[RFC 1866]] [CITE[5.6.5. Definition List: DL, DT, DD]] - [[HTML 3]] -- HTML 3.0 I-D [CITE[Definition Lists]] - [[HTML 3.2]] -- [CITE[Block elements]] -- [CITE[Definition Lists]] - [[HTML 4]] -- -- -- [5] :[[開始タグ]]:必須 :[[終了タグ]]:必須 :[[内容模型]]:[CODE(SGML)[([CODE(HTMLe)[[[dt]]]] | [CODE(HTMLe)[[[dd]]]])+]] :出現できる文脈:[CODE(SGML)[%[[list]]]] な文脈 :[[属性]]: ,[CODE(HTMLa)[[[class]]]] , , ,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[compact]]]] ,([[真偽値属性]]) ,([[偽]]) ,コンパクト表示 ,[HTML4] 非推奨 ,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[id]]]] , , ,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[lang]]]] , , ,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]] , , ,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[onclick]]]] , , , ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeydown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmousemove]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]] , , , ,[HTML4] %events ,[CODE(HTMLa)[[[style]]]] , , ,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] , , ,注釈的題 ,[HTML4] %coreattr [[#comment]] ** dl によりマークされるもの [7] HTML 4 仕様書は、 [CODE(HTMLe)[dl]] について、次のように説明しています。 > Definition lists, created using the [CODE(HTMLe)[DL]] element, generally consist of a series of term/definition pairs (although definition lists may have other applications). > [CODE(HTMLe)[dl]] 要素を使って作成する定義並びは、 通常用語・定義の組の系列から成ります (が、定義並びは他の応用も持つかもしれません)。 その上で、 >>8-9 のような、厳密にいえば定義とは言えないような例を挙げています。 [12] > Another application of [CODE(HTMLe)[DL]], for example, is for marking up dialogues, with each [CODE(HTMLe)[DT]] naming a speaker, and each [CODE(HTMLe)[DD]] containing his or her words. [SRC[HTML 4 10.3.1]] と、会話 (対話) のマークにも使えるとされています。 [13] このように、仕様は名前と値の組を持つリストへの幅広い応用を認めていますが、 要素型名の通り[Q[定義]]に限って使用するべきであると考える人もいます。 [19] 歴史を遡ると、 1993年1月に [ABBR[Tim] [Tim Berners‐Lee]] は[Q[論理的・意味的なマーク付けは好きだけど、 HTML は広範囲の意味・データを扱うし、要素型名は覚えやすいようにつけてあるのだ]] と言って [CODE(HTMLe)[[[dl]]]] も名前にこだわらず使うことができることを示しています。 [21] HTML 4 DTD の[[注釈]] (参考) には [Q[definition lists - DT for term, DD for its definition]] と説明があります。 ([[名無しさん]] [sage]) [24] >>19 それより前の1992年に既に HTML の仕様書には用語集に限らず名前付きリスト一般に使ってよいことが明記されています (>>16)。 ([[名無しさん]] [sage]) [[#comment]] ** レンダリング [11] HTML 4 仕様書は、レンダリングは UA 依存としています。 ただし、 >>10 のようなレンダリング例を挙げています。 多くの視覚的 UA は ([CODE(HTMLa)[[[compact]]]] 属性がなければ) 実際そのようにレンダリングします。 [CODE(HTMLa)[compact]] 属性に対応した UA は、 [CODE(HTMLe)[dt]] と [CODE(HTMLe)[dd]] がそれぞれ別の行のこまとなる表のように表示するのが普通です。 ([SAMP(CSS)[[[display]]: [[run-in]]]] と言った方が正確か。 もっとも、 HTML 4 は [CODE(HTMLa)[compact]] 属性の具体的効果にも言及してはいませんが、このように表現されるのが本来の [CODE(HTMLa)[compact]] 属性の意図です。) [23] [CITE[DLをTableに見せる]] ([[名無しさん]]) [[#comment]] ** 歴史 [15] [CODE(HTMLe)[dl]] 要素型に関する現時点で最古の記録は、 [[TimBL]] の記事 [CITE[Re: status. Re: X11 BROWSER for WWW]] です。この記事によれば、遅くても1991年10月までには [CODE(HTMLe)[dl]] (と [CODE(HTMLe)[dt]] と [CODE(HTMLe)[dd]]) が HTML 仕様に入ったことになります。 これ以前の記録が見つかっていないことから、どのような経緯で具体的にいつ HTML 仕様に取り入れられたのかは不明ですが、 SGML で一般によく使われる要素型名ですから、 他の SGML 語彙を参考にしたことは間違いありません。 [16] >>15 の記事では [Q[glossary]] としか説明がありませんが、 HTML 仕様はより詳しく説明しています。完全に残っている最古の仕様書である 1992年1月の版 ([CITE[EMail Msg <9201091134.AA08666@ nxoc01.cern.ch >]] ) では、 > A glosary (or definition list) is a list of paragraphs each of which has a short title alongside it. Apart from glossaries, this format is useful for presenting a set of named elements to the reader. としています。このように、当初から、 単なる[Q[定義]]にとどまらない名前つきリストとして捉えられていたことがわかります。 [17] そのずっと後になりますが、 [[HTML+]] の議論文書 ([CITE[Definition Lists]] ) は大変過激で、説明の大部分を[WEAK[わけのわからない]]会話例に費やしています。 (読んだ人は対話のマーク付けのための語彙と勘違いしてしまいそうです。) [18] 一方で、 [[HTML 2.0]] (や [[HTML 3.0]]) は > A definition list is a list of terms and corresponding definitions. と、本来の語義に沿った説明をしています [SRC[RFC 1866 5.6.5.]]。 [[HTML 3.2]] は更に説明が簡単になって、直接的には [Q[definition list]] としか述べていません (あとは [CODE(HTMLe)[dt]] と [CODE(HTMLe)[dd]] の説明)。 これが [[HTML 4]] になって、 >>7-12 のように (HTML 的な) 元の解釈に歩み寄ったというわけです。 [[#comment]] ** 使用例 [10] [PRE(HTML)[
Dweeb
young excitable person who may mature into a Nerd or Geek
Hacker
a clever programmer
Nerd
technically bright but socially inept person
]PRE] (HTML 4 仕様書から) レンダリング例: [PRE[ Dweeb young excitable person who may mature into a Nerd or Geek Hacker a clever programmer Nerd technically bright but socially inept person ]PRE] [8] 厳密には定義とは言えない例: [PRE(HTML)[
Lower cost
The new version of this product costs significantly less than the previous one!
Easier to use
We've changed the product so that it's much easier to use!
Safe for kids
You can leave your kids alone in a room with this product and they won't get hurt (not a guarantee).
]PRE] (HTML 4 仕様書より) [9] 他の並びと組合せた例: [PRE(HTML)[
The ingredients:
  • 100 g. flour
  • 10 g. sugar
  • 1 cup water
  • 2 eggs
  • salt, pepper
The procedure:
  1. Mix dry ingredients thoroughly.
  2. Pour in wet ingredients.
  3. Mix for 10 minutes.
  4. Bake for one hour at 300 degrees.
Notes:
The recipe may be improved by adding raisins.
]PRE] [20] 仕様書での用語定義の例 [PRE(HTML example)[ <[CODE(HTMLe)[dl]] [CODE(HTMLa)[class]]="termlist"> <[CODE(HTMLe)[dt]] [CODE(HTMLa)[id]]="term-XHTML">XHTML <[CODE(HTMLe)[dd]]>The Extensible HyperText Markup Language. XHTML is <[CODE(HTMLe)[em]]>not the name of a single, monolithic markup language, but the name of a family of document types which collectively form this markup language. The namespace URI for XHTML is <[CODE(HTMLe)[code]] [CODE(HTMLa)[class]]="URI">http://www.w3.org/1999/xhtml. <[CODE(HTMLe)[dd]] [CODE(HTMLa)[class]]="note"><[CODE(HTMLe)[strong]]>Note: Future version of XHTML might use different namespace. [INS[(略)]] <[CODE(HTMLe)[dt]] [CODE(HTMLa)[id]]="term-XHTML_Integration_Set_document_type">XHTML Integration Set document type
A document type which conforms to the "XHTML Integration Set Document Type Conformance" as defined in section 3.2 of [<[CODE(HTMLe)[a]] [CODE(HTMLa)[href]]="#ref-xhtml-m12n">XHTMLM12N]. ]PRE] 出典: [CITE[XHTML Media Types]] [22] [CODE(HTMLe)[dt]] のない例 [PRE(HTML deprecated example code)[

Proposed Edited Recommendations

A Proposed Edited Recommendation is a technical report that W3C has published for community review of important changes, some of which may affect conformance. When there is consensus about the edits, the document is published as a Recommendation.

There are currently no document at Proposed Edited Recommendation Status.
]PRE] 出典: [CITE[W3C Technical Reports and Publications]] (2005年4月現在) [25] >>22 の頁では該当する状態の文書がある時はその名前を [CODE(HTMLe)@en[[[dt]]]], 著者名その他の情報を [CODE(HTMLe)@en[[[dd]]]] に入れており、 それとの整合性 (?) から該当する文書がないときに >>22 のようにマークしていると思われます。 ([[名無しさん]] [sage]) [[#comment]] ** メモ - [1] ''Strict-HTML スレッド ver.9'' [CODE(HTML)[dl]] 要素の使い方って [[FAQ]] だよなぁ。 - [2] >>1 そういえば Strict HTML FAQs ってないのかなぁ。結構な量あるとおもうんだけどな - [3] [CODE(HTML)[dl]] 要素は、特別の場合には [CODE(HTML)[[[table]]]] 要素と交換可能です。 - [4] ''www-html@w3.org from July 1997: Definition lists'' : [[HTML 4]] 制定に当たって、 [CODE(HTML)[DL]] 要素の[[内容モデル]]に疑問を投げかけてみるテスト [[#comment]] * メモ