HTMLの文書型宣言文(DOCTYPE宣言)は、ウェブブラウザやバリデーターに対して、その文書がどのバージョンのHTMLまたはマークアップ言語で書かれているか、そしてどのような構文規則(DTD: Document Type Definition)に従っているかを示すものです。
現代のウェブ開発で標準的に使用されているHTML5では、文書型宣言は非常にシンプルになり、単に <!DOCTYPE html>
と記述します。これは特定のDTDファイルを参照しません。
しかし、それ以前のHTMLのバージョンや、HTML以外のマークアップ言語では、異なるDTDを指定する必要がありました。具体的には、HTMLを指定する以外に、以下のようなものが指定されました。
-
過去のHTMLバージョンにおけるDTDの指定:
- HTML 4.01
- Strict (厳格型): 非推奨(deprecated)の要素や属性を含まない、最も厳密なDTDです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- Transitional (移行型): 非推奨の要素や属性(
<font>
など)を含むDTDで、古いブラウザとの互換性のために使われました。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- Frameset (フレームセット型): フレームを使用する文書のためのDTDです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
- Strict (厳格型): 非推奨(deprecated)の要素や属性を含まない、最も厳密なDTDです。
- XHTML 1.0
XHTMLはHTMLをXMLの厳密な規則に則って再定義したものです。HTML 4.01と同様にStrict, Transitional, FramesetのDTDがありました。
- Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- Transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- Frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- Strict:
- XHTML 1.1
X
1 HTML 1.0 Strictを基にしたDTDです。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- HTML 4.01
-
HTML以外のマークアップ言語:
DOCTYPEはHTML専用のものではなく、SGMLやXMLベースの文書で使われます。ウェブの文脈ではあまり一般的ではありませんが、以下のようなXML関連の文書でもDOCTYPEが使用されることがあります。
- SVG (Scalable Vector Graphics): XMLベースの画像フォーマット。
- MathML (Mathematical Markup Language): XMLベースの数式記述言語。 これらの言語の文書も、理論上はそれぞれのDTDを指定するDOCTYPEを持つことができますが、現代のウェブではHTML5文書内に埋め込まれることが多く、その場合はHTML5のDOCTYPEのみがあれば十分です。
まとめ:
現代のHTML文書では <!DOCTYPE html>
以外のDOCTYPEを指定することはありません。これはHTML5のためのシンプルで唯一推奨されるDOCTYPEです。
しかし、過去にはHTMLのバージョンや種類(Strict, Transitional, Frameset)、あるいはXHTMLといった異なるマークアップ言語を指定するために、複雑なDTDを参照するDOCTYPEが使われていました。したがって、「HTML」と指定する以外に指定できたものとして、これらの過去のHTMLのDTDの種類や、XHTMLといったマークアップ言語が存在しました。
0 件のコメント:
コメントを投稿