#?SuikaWiki/0.9
* head 要素型 (HTML, XHTML 1)
[3] [CODE(HTMLe)[head]] 要素は、[[文書]]の[[内容]]とはみなされない文書に関する情報
([[メタ情報]]) を記述するのに使います。
仕様書: [HTML 4]
[4] [[UA]] は通常この要素の内容を[[レンダリング]]しませんが、何らかの手段で[[利用者]]にその情報を提示しても構わないと
HTML 4 仕様書は言っています。
メタ情報の重要性が説かれる現在では、
汎用 UA はむしろその手段を必ず用意する'''べき'''でしょう。
[5]
:[[開始タグ]] (HTML 4):省略可能
:開始タグ (XHTML):必須
:[[終了タグ]] (HTML 4):省略可能
:終了タグ (XHTML):必須
:[[内容模型]]: [CODE(SGML)[([CODE(HTMLe)[[[title]]]] & [CODE(HTMLe)[[[base]]]]?) +([VAR[%[[head.misc]]]])]]
:出現できる文脈:[CODE(HTMLe)[[[html]]]] 第1子要素
:[[属性]]:
,属性名 ,属性値型 ,既定値,意味,出典
,[CODE(HTMLa)[[[lang]]]],[[言語札]],(継承),[[自然言語]],"[HTML4], [XHTML1]"
,[CODE(HTMLa)[[[xml]]:lang]],言語札,(継承),自然言語,[XHTML1]
,[CODE(HTMLa)[[[profile]]]],[CODE(ABNF)[[[URI参照]] *([[空白]] URI参照)]],(なし),メタ情報の辞書,"[HTML4], [XHTML1]"
[[#comment]]
** 内容模型
[6] HTML 4 では、内容模型に[[添加要素指定]]が使われていて少々分かりにくくなっていますが、
その主張は簡単なことで、[Q[すべての要素の出現順序は無制限。 [CODE(HTMLe)[[[title]]]] は丁度1つ必要。 [CODE(HTMLe)[[[base]]]] は高々1つ必要。他は任意個 OK。]]です。
ただし、 DTD に現れない仕様書本文での制限で、
[CODE(HTMLa)[[[http-equiv]]]] が [CODE(HTTP)[[[Content-Type]]]]
の [CODE(HTMLe)[[[meta]]]] を使う時は可能な限りはじめの方にいれることになっています。
[7] 古い時代の DTD 案では、 [CODE(HTMLe)[title]]
が必須でなかったこともありました。
実際の文書では今でも [CODE(HTMLe)[title]] が欠けていることがしばしばあります。
また、 [CODE(HTMLe)[base]] が ([CODE(HTMLa)[[[href]]]] と
[CODE(HTMLa)[[[target]]]] などで) 複数あることもたまにあります。
[[#comment]]
** 歴史
[8] 一番初めの [[SGML]] もどきな頃の HTML に
[CODE(HTMLe)[head]] 要素型はありませんでした。
その後 SGML 的形式を整えるに当たって、
本文そのものではない [CODE(HTMLe)[title]]
要素を収納する要素が考えられました。
[1] 最初は [[Dan Connolly]] は [CODE(HTMLe)[[[heading]]]] という名前で呼んでいました (''WWW-Talk 1992: HTML DTD issues'' )。その後 [CODE(HTMLe)[header]] 要素として結構使われました。
(W3C の古文献などを探してみてください。すぐ見つかります。)
しかしその後要素型名は [CODE(HTMLe)[head]] となりました。
[2] >>1 の次の [[TimBL]] の返信ではおお!
[CODE(HTMLe)[header]]/[CODE(HTMLe)[body]]
なんて[[メイル]]みたいでいい感じじゃん☆って話になってます。
[[#comment]]
* メモ