初心者のためのホームページ作り 第112号

初心者のためのホームページ作り

メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。

なお文中、疑問点や分からない点がありましたら、ご遠慮なく当方まで メールにてご質問ください。

<第112号> 今週のおさらい
              毎週金曜日配信 What's New 2005年3月18日
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
   ■ やさしいHTML入門 第6回 --- 文書型定義
やさしいHTML入門 --- 文書型定義 (Document Type Definition)
文書型定義 (英語の頭文字から DTD と呼ぶ) とは、その HTMLドキュメントで利用されているタグセット (タグの集合) を明示するものです。
現在制定されているタグセットは HTML4.01 となっていますので、基本的にこれを踏襲することになります。
DTDの基本は、マークアップする際の情報要素へのタグの文法を定義します。早い話が「このタグセットにはこれらのタグを配置し、これらの属性を用いる」となるわけです。
タグや属性の振る舞いなどは、すべて W3CDTD で制定されています。
3つの DTD
現在の HTML4.01における DTDは、3つの形式が定義されています。
論理的な文書構造を厳格化し非推奨タグを用いない厳格仕様 (Strict) 、古いソフトウェアにも対応し非推奨タグも利用できる過渡期仕様 (Transitional) 、そして過渡期仕様にフレームを加えたフレーム仕様 (Frameset) です。
厳格仕様 (Strict)
HTML4.01が本来のマークアップ言語の原点に回帰した画期的なバージョンであるということを示すのがこの文書型定義です。
プラットフォームやソフトウェアに依存せず、またどのような環境にも対応できるということは、Web制作者には歓迎されるものですが、従来からの手法を大幅に変更せざるを得ない面も内在しています。 (なお、当講座ではこの厳格仕様を柱として解説しています。)
厳格仕様の文書型定義は以下のように明示します。
標準型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" 
       "http://www.w3c.org/TR/html4/strict.dtd">

互換型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
過渡期仕様 (Transitional)
過去からの仕様と互換性を持ち、非推奨タグおよび属性が利用できる特徴を持っています。現在公開されている圧倒的多数のサイトがこれにあたると言われています。
過渡期仕様の文書型定義は以下のように明示します。
標準型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">

互換型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
フレーム仕様 (Frameset)
過渡期仕様にフレームを追加したものです。基本的にフレームを利用する際に用いられますが、フレーム内のウィンドウで表示するドキュメントは厳格仕様、過渡期仕様のいずれも配置可能となっています。
フレーム仕様の文書型定義は以下のように明示します。
標準型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
     " http://www.w3.org/TR/html4/frameset.dtd">

互換型 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
(注意 いずれも引用符で囲まれた範囲では、大文字と小文字を厳格に区別します。)
DTDの必要性
厳密に言えば、DTDHTMLドキュメントの冒頭で必ず明示的に宣言しなければならないわけです。しかしながら、多くの Webブラウザでは DTDのないドキュメントでも一応問題なく表示してくれます。
DTDがない場合には 「HTML2.0として扱え」となっていますが、Web上の標準を制定する機関である W3Cでは、HTML4.01 Transitional (過渡期仕様) として扱うようソフトウェア・ベンダーに指導しています。そのため、DTDが宣言されていなくても表示できるのです。
その意味では HTMLを作成する上での必要性は薄いかもしれません。しかし、次世代マークアップ言語 (XHTML、XML) などでは、より有機的に機能し言語としての広がりを見せています。特に「名前空間」を利用することで、直接 DTDを指定し Webコンテンツ作成に幅を持たせることができます。
また、稀に発生しますが DTDの有無、種類によっては利用するソフトウェア (ブラウザ) 上で意図しない表示の変化があることも事実です。出来る限り (本当は絶対に) DTDを明示することを心がけましょう。


This page is Valid HTML 4.01! 初版公開日 2005年3月25日
Copyright(C) 2002-2005 banban@scollabo.com