DOCTYPE

必ず指定しよう


DOCTYPE宣言は、HTML文書では第1行めに<HTML>タグよりも前に書かれる。 HTMLのヴァージョンによって以下のようなDOCTYPE宣言の種類が存在する。

HTML 2.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
HTML 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">

このDOCTYPE宣言はその文書が「HTMLの文書である」ことをSGMLの文法に則って宣言するものだ。 本来、この宣言が1行めになければHTMLの文書であるとは言えないわけで、必須のものである。 HTMLはSGMLの1アプリケイションにすぎないので、その文書が(ほかのものではなく)HTMLの文書 であることをSGMLのやり方で宣言するわけである。

とはいえ、現実に存在しているHTML文書で、このDOCTYPE宣言を書き忘れているものは あまりにも多い。 1行めにこのDOCTYPE宣言が書いてなくても、ブラウザーは「書いてないときにはHTMLにちがいない」と 適当に推測して解釈するためのだ。 たいがいのブラウザーは、読み取るHTML文書が、多少の文法的誤りを含んでいても、 推測できるときには推測して「なんとか表示する」ことを方針としている。 いちいちエラーメッセージを出して停止するよりも、何らかの形で表示できたほうが便利だからだ。 しかし、それはブラウザー側の都合にすぎない。

return

$Id: doctype.html,v 1.8 2000/08/23 18:19:26 void Exp $