DOCTYPE宣言/XML宣言
DOCTYPE宣言(文書型宣言)とは、HTMLがどの仕様に準拠しているかを表します。
HTMLのバージョンや、基準としているDTD仕様のURLなどが指定されます。
DOCTYPE宣言を変えることによって、解釈(レンダリング方法)も変わるので、表示が変わる場合があります。
DOCTYPE宣言を省略することはできますが、ブラウザによってどのHTMLのバージョンで解釈されるかわからないので、省略しないほうがいいです。
DOCTYPE宣言の構造
一般にDOCTYPE宣言は次のようになっています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
これをそれぞれ説明すると
<!DOCTYPE >
これからSGMLのDTDを宣言することを示します。
HTML
文書タイプ名が「HTML」であることを示します。
PUBLIC
PUBLICの場合、このDTDが公開されたものであることを示し、続いて記述されるのが公開識別子であることを表します。
DTDが特定のマシン上にある場合はSYSTEMが使われます。
ほとんどの場合がPUBLICですが、SYSTEMの場合はたとえば次のようになります。
<!DOCTYPE only SYSTEM "file:///var/docs/dtd/only.dtd">
"-//W3C//DTD HTML 4.01 Transitional//EN"
SGMLで定められた「フォーマル公開識別子(FPI)」という書き方に従って、公開文書(ここではDTD)を特定するための情報を記述します。
-//W3C | // | DTD | HTML 4.01 Transitional | // | EN |
所有者識別子 | 区切り | 公開文種別 | 公開文記述 | 区切り | 公開文言語 |
所有者識別子 (OwnerID)
公開文書の所有者を示します。ISO(国際標準化機構)出版物はその出版物番号を用います。 JISなどの国家規格あるいは工業規格もしくはISO 9070に従って割り当てた所有者(登録所有者)の場合は先頭に+//を、それ以外の未登録所有者は先頭に-//を加えます。 W3CはこのHTMLを策定したWorld Wide Web Consortiumを示します。 HTML2.0だとIETFになります。
公開文種別 (Public Text Class)
公開されている文書の内容を示します。この場合はDTDを公開しています。必ず大文字でなければなりません。
公開文記述 (Public Text Description)
公開文書がどんなものであるかを記述します。この場合はHTMLのバージョン4.01のために公開している文書ということになります。
公開文言語 (Public Text Language)
この公開文書(つまりDTD)が記述されている言語のコードを示します。ENは英語。もし日本語で定義されたDTDならJAとなります。 必ず大文字でなければなりません。なお、これはHTML本文を記述する言語とは関係ありません。
"http://www.w3.org/TR/html4/loose.dtd"
準拠するDTDのURL、パスを示します。
モード
英文 | 日本語 |
---|---|
Quirks mode | 互換モード |
Almost Standards mode | ほぼ標準モード |
Full Standards mode | 標準準拠モード |
Strict | 厳密に準拠 |
Transitional | 過渡的 |
DOCTYPE宣言の一覧
DOCTYPE宣言/XML宣言 | |||
---|---|---|---|
IE6 | Firefox Opera Safari |
Mac IE5 | |
分類:なし | |||
DOCTYPEなし | 互換モード | 互換モード | 互換モード |
HTML4.01 Strict | |||
<!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"> | 標準モード | 標準モード | 標準モード |
HTML4.01 Transitional | |||
<!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"> | 標準モード | 標準モード | 標準モード |
XHTML1.0 Strict | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 標準モード | 標準モード | 標準モード |
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | 互換モード | 標準モード | 標準モード |
XHTML1.0 Transitional | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 標準モード | 標準モード | 標準モード |
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 互換モード | 標準モード | 標準モード |
XHTML1.1 | |||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | 標準モード | 標準モード | 標準モード |
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
互換モード | 標準モード | 標準モード |
IE6ではDOCTYPE宣言より前に記述があると互換モードになります。
このため<?xml?>などを<!DOCTYPE>より前に書くと、<!DOCTYPE>は無視され、互換モードになります。
関連記事
- HTMLソースの最後にコメントで『Quick Cache』とあるページ
- inputタグにhiddenで隠された__VIEWSTATEとは(通信の盗聴、値の改ざん、回線の圧迫)
- Twitterウィジェットのカスタマイズ(ウィジェット部分のHTML・CSS)
- 多言語対応テキストエディタの一覧
- サイトマップ(sitemap.xml)のつくり方とちょっとしたテクニック
- Windows7やWindowsVistaでTelnetを使用する方法
- SELECTタグで色を選択する場合のサンプル
- ナインパッチとは(9-Patch)
- SSL(HTTPS)でファイルのダウンロードができない場合
- Google Chromeで一部の文字だけ四角記号に文字化けするときの対処法
- 特定のディレクトリのみベーシック認証を外す方法
- Firefox、Chromeなどで文字化けを防ぐ方法 ヘッダー情報に文字コードを指定
- BRタグが<br />と書ける理由 『<br> が <br /』で『</br> が >』になる
- htmlファイルのコメントに <!--# から始まるものは使用しないほうがいい
- IPアドレス制限とベーシック認証を併用する方法
- サブドメインにアンダーバーがあるとクッキーは使えない
- 会員専用ページを作る方法 (ベーシック認証 / Basic認証 / 基本認証)
- 都道府県を選択するときのサンプルコード (JISコード準拠)
- 生年月日などで年を選択するときのサンプルコード
- 連続する半角英数字を途中で自動改行させるには、​が使えます
- SSLの警告
- mailtoの使い方
スポンサーリンク