DOCTYPE宣言
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">
関連リンク
よく読まれている記事
- 右クリックメニューの表示が遅い【Information】
- 画像の一部にリンクを貼る(クリッカブルマップ【Dreamweaver】
- 一定時間でローテーションする広告【JavaScript】
- Dreamweaver【Dreamweaver】
- クリックした画像を拡大・縮小する【JavaScript】
UpDate:2009-10-30