DOCTYPE宣言

Home>HTML>DOCTYPE宣言

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

DTD(Document Type Definition=文書型定義)を明示することです。
HTMLには策定された時期によってバージョンがいくつかあり、各バージョンによって対応している要素に違いがあります。したがって、HTMLのバージョンによってブラウザの表示にも若干の差があります。
どのバージョンのHTMLを使用するかを指定したのがDOCTYPE宣言で、HTMLファイルの冒頭に記述します。
DOCTYPE宣言を行うことは必須ですが、大抵のブラウザではデフォルトで使用する文書型定義が決められており、宣言を行わないとそれが反映されるようになっています。しかし、その場合は自分の意図しない動作になる場合もあるので、やはりDOCTYPE宣言は記述するべきだといえます。

DOCTYPE宣言の記述

DOCTYPE宣言は、HTML文書の冒頭に記述します。DOCTYPEを明示することで、その文書が準拠しているマークアップ言語をブラウザに示すことができます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

上記は、XHTML 1.0 Transitional DTDです。このサイトもこの定義を採用しています。この文書型定義の後に、<html>要素が続きます。

DOCTYPE宣言の種類

HTML 1.0 DTD

Mosaicというブラウザで解釈できるHTMLの仕様書として策定されました。テキストを装飾する要素はなく、body要素もありませんでした。HTML1.0は草案の段階で廃案となりましたが、公表はされました。

時期 1993年

HTML 2.0 DTD

文書構造、ハイパーリンクの利用、フォーム等の要素を含む、正式に発表された初めてのHTMLの仕様です。ASCII文字にのみ対応していました。

RFC 1866(RFC2854にて廃棄)
時期 1994年標準化
記述方法 <!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN">
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">

HTML 2.x DTD

HTML2.0では対応していなかった、2バイト文字(日本語等)に対応した規格です。

RFC 2070(RFC2854にて廃棄)
時期 1997年1月
記述方法 <!DOCTYPE html PUBLIC "-//IETF//DTD HTML i18n//EN">

HTML 3.0 DTD

HTML1.0を拡張したHTML+から発展させた仕様。HTML2.0の後継にするべくW3Cによって開発されていましたが、当時の2大ブラウザである、NetscapeNavigatorとInternetExplorerの調整をまとめられず、廃案となりました。

記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.0//EN">

HTML 3.2 DTD

W3Cが勧告した初めてのHTML仕様。スタイルシートの概念がなかったため、多くの視覚的な要素が取り込まれました。しかし、HTML4において、それらは非推奨とされることになります。

時期 1997年1月14日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

HTML 4.01 Strict DTD

廃止予定の要素および属性、フレームに関する要素を除く、すべての要素と属性が定義されている仕様です。W3Cの勧告どおりの定義であるため、本来ならばこちらを使うのが望ましいとされています。

時期 1999年12月24日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional DTD

HTML4.01の標準として定義されたうちの一つ。過渡的なDTDと呼ばれており、将来において廃止予定の要素もすべて含みます。

時期 1999年12月24日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset DTD

廃止予定の要素および属性とフレームに関する要素のすべてを定義されています。

時期 1999年12月24日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

ISO-HTML(ISO/IEC15445:2000)

HTML4.01を元に策定された国際規格(と同時にJIS規格でもある)。JavaScriptが使えないようになっており、各要素にはstyle属性もありません。

時期 2000年5月公開
記述方法 <!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HyperText Markup Language//EN">

XHTML 1.0 Strict DTD

XMLの厳密さを加味した規格であるXHTML1.0のうち、レイアウトや見栄えに関する要素を排除した“厳密な”XHTMLの仕様です。

時期 2000年1月26日W3C勧告/2002年8月1日改訂
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional DTD

XMLの厳密さを加味した規格であるXHTML1.0のうち、非推奨ものも含めて要素や属性を使用できる規格です。

時期 2000年1月26日W3C勧告/2002年8月1日改訂
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset DTD

XMLの厳密さを加味した規格であるXHTML1.0のうち、フレームの要素を含めた規格です。

時期 2000年1月26日W3C勧告/2002年8月1日改訂
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1 DTD

XHTML1.0Strictをモジュール化によって形式化した規格で、文書の構成要素を自由に定義して独自のタグセットを設計できるようにしています。高い処理能力をもつコンピュータ向けのマークアップ言語です。

時期 2001年5月31日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

XHTML Basic 1.0 DTD

XHTML1.0を携帯端末等の低処理能力端末向けに定義した規格です。モバイル端末では従来のHTMLをサポートするには負担が大きすぎるため、独自のHTML仕様を使うようになり、それが多角化してしまったために、ベースとなる統一規格が策定されました。

時期 2000年11月19日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

XHTML Basic 1.1 DTD

XHTML Basic1.0と、XHTML Moblie Profileを統合した標準仕様です。フレーム非対応、テーブルの入れ子を禁止するなど、複雑なレイアウトは非推奨としています。

時期 2006年5月5日W3Cワーキングドラフト
記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">

XHTML Mobile Profile 1.0 DTD

XHTML Basicに拡張要素と属性を加えた、モバイル端末向けのXHTMLのサブセットです。

時期 2001年10月29日WAP公表
記述方法 <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

WML 1.3 DTD

Wireless Markup Languageの略。モバイル機器において使用するように策定されたXML準拠のマークアップ言語です。モバイル機器の性能向上により使われなくなりました。

記述方法 <!DOCTYPE wml PUBLIC "-//OPENWAVE.COM//DTD WML 1.3//EN" "http://www.openwave.com/dtd/wml13.dtd">

WML 2.0 DTD

XHTML Mobile Profile + WMLの拡張仕様で、従来のWMLとの互換性を維持しています。

時期 2001年9月11日W3C勧告
記述方法 <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD WML 2.0//EN" "http://www.wapforum.org/DTD/w.dtd">

MathML 1.01 DTD

XMLベースの数式記述言語です。MathML1.0の改訂版。

時期 1999年7月7日W3C勧告
記述方法 <!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">

MathML 2.0 DTD

XMLベースの数式記述言語です。MathML1.0のすべての要素を見直したものです。

時期 2001年2月21日W3C勧告
記述方法 <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd">

XHTML+MathML+SVG DTD

XHTMLに加えて、数式記述言語であるMathML、そしてベクター画像記述言語のSVGの3つをあわせた仕様です。

記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

SVG 1.0 DTD

XMLベースの2次元ベクターグラフィックス記述言語。グラフィックスの検索か索引化を可能にしました。

時期 2001年9月5日W3C勧告
記述方法 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">

SVG 1.1 Full DTD

SVG1.0をモジュール化したもの。SVG1.1ではDTDを小さく・柔軟なモジュールに分割することで、様々な目的に合わせた組合せを可能にしました。

時期 2002年4月30日W3C勧告候補
記述方法 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

SVG 1.1 Basic DTD

SVG1.0をモジュール化したハンドヘルド機器向け仕様。手元の端末で画像情報を閲覧できるしくみになっています。

時期 2002年4月30日W3C勧告候補
記述方法 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">

SVG 1.1 Tiny DTD

SVG1.0をモジュール化した携帯電話向け仕様。動画によるマルチメディアメッセージの送受信を可能にしました。

時期 2002年4月30日W3C勧告候補
記述方法 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">

XHTML+MathML+SVG Profile(XHTML as the host language) DTD

XHTML1.1、MathML2.0、SVG1.1を組み合わせた仕様。XHTML、MathML、SVGをXML名前空間を用いて混在させることができます。

記述方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

XHTML+MathML+SVG Profile(Using SVG as the host) DTD

XHTML1.1、MathML2.0、SVG1.1を組み合わせた仕様。XHTML、MathML、SVGをXML名前空間を用いて混在させることができます。

記述方法 <!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

DOCTYPEを選ぶ

2009年10月現在では、DOCTYPEは以下のものを選択すればよいでしょう。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

関連リンク

よく読まれている記事

UpDate:2009-10-30