Meiji Mizutani Masahiro(水谷 正大) http://www.isc.meiji.ac.jp/~mizutani/

HTML5の文書宣言

HTML文書ファイルでは、まず使用するHTMLの型宣言をする必要がある。 HTML5では、これまでのHTML4に根本的な変更が加えられ、HTML文書構造の明確化が一層強化され、CCSと併せて大きな表現力を獲得できるようなった(たとえば、CSS tutorial starting with HTML + CSS)。

HTML5文書は、様々な階層のHTML文書要素が入れ子になって構成されている(全ての文書では文書要素が入れ子になって構成されている。HTML5もそれに倣っているだけである)。 その様子をツリーとして表したものがドキュメントツリー(document tree)である。 ツリーのノード(node: 節、頂点 vertex とも言う)は文書要素である。

文書ツリーでは、ある文書要素の上位(外側)の要素を(parent element)、下位(内側)の要素を(child)とする親子関係を樹状的(ツリー)階層として表されている。

文書要素をノード(または節 node や頂点 vertex とも言う)で、要素間の親子関係を辺(edge)で表すとき、辺からなる経路(path)が閉路(closed path)を持たないグラフ構造をツリー(tree)という。

HTML文書の冒頭で、どのバージョンのHTMLで文書が作成されているかをドキュメントタイプ(document type)で宣言する。 それによって、そのHTML文書で使われる文書要素などが違ってくる。

HTML5では簡単で

<!DOCTYPE html>

と宣言するだけで、WebブラウザはそのファイルがHTML5文書と認識する。

参考:HTML4の場合

HTML4の場合(正確にはHTML4.01)、HTMLバージョンの下位互換性維持するために3つの型宣言があり、文書構造の厳格化は困難であった。

HTML4.01のドキュメントタイプ宣言
厳密版(strict)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">
移行版(Transitional)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
フレームセット版(frameset)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
        "http://www.w3.org/TR/html4/frameset.dtd">