Smart Communication Design Company
ホーム > ナレッジ > Blog > Web標準Blog > 2005年6月 > 文書型宣言

文書型宣言

2005年6月3日
フロントエンド・エンジニア 木達

Web標準に則ってWebページを作成する場合、その初期段階で検討すべきポイントに文書型宣言(DOCTYPE宣言)があります。文書型宣言とは、そのWebページがどのマークアップ仕様に適合しているかを示すものです。Webページを作成する準備としてまずどの文書型を採用するかを策定してからマークアップ、その後文法的妥当性をチェック、適合していることを確認するというのがコーディングの大まかなワークフローになります。

W3Cの定める文書型から選定を行う段階では、まずHTMLかXHTMLか?という点を決めなければなりません。次に、仕様のバージョン。最近の傾向としては、HTMLの場合は4.01、XHTMLの場合は1.0が主流です。

より古いバージョンのHTMLを使用することもできますが、4.01はSGMLをベースとしたHTMLの最新にして最終のバージョンであり、前方互換性の確保という観点では4.01が良いでしょう。また1.0よりも新しいバージョン(現状では1.1)のXHTMLを使用することもできますが、その場合メディアタイプにtext/htmlを採用すべきではない点に注意する必要があります。XHTMLデータをXMLデータとしてではなくHTMLデータとして扱うことが一般的な現状においては、HTML 4.01とXHTML 1.0のいずれかを選択するのが現実的です(詳しくはXHTMLのバージョンとメディアタイプを参照)。

そして、仕様のタイプ。HTML 4.01とXHTML 1.0のどちらにも、Strict / Transitional / Framesetという3つのタイプがあります。フレームを利用するWebページであればFramesetを、そうでない場合にはStrictとTransitionalのいずれかを選ばなければなりません。簡単に説明しますと、Strictとは厳格で見栄えのためのマークアップを許容しないタイプ、TransitionalはStrictに比べ緩やかな、非推奨の要素や属性を使用しても文法違反とはならないタイプです。

上記を踏まえて、たとえば「XHTML 1.0 Transitional」や「HTML 4.01 Strict」といったように文書型を策定します。文書型宣言の記法とブラウザ側の挙動については、別の機会にご紹介します。

[2005年6月4日追記]
hxxk.jpさまよりトラックバックをいただきましたが、本エントリにおいてXHTML 1.1を文書型に採用した場合メディアタイプにtext/htmlを使用できないとの誤りを掲載しておりました。正確にはご指摘のとおり、使用できないわけではなく、使用すべきではないということです。謹んでお詫びし、本文および関連エントリ「XHTMLのバージョンとメディアタイプ」の内容を訂正いたします。ご指摘ありがとうございました。

[2005年6月6日追記]
4.01はHTMLの最新にして最終のバージョンと記載していましたが、HTMLの最新バージョンとしてはXHTML 1.0であり、ベースがSGMLであってもXMLであっても同じHTMLであるとのご指摘を受けて本文を若干補足しました。yuuさまコメントありがとうございます。

コメント

>また1.0よりも新しいバージョン(現状では1.1)のXHTMLを使用することもできますが、その場合メディアタイプにtext/htmlを採用できない点に注意する必要があります。
 論拠となっている「XHTML Media Types」は (「XHTMLのバージョンとメディアタイプ」で仰っている通り) 「W3C Note」であり、(Note である以上) 「採用"できない"」と言い切ってしまうのは些か語調が強すぎるような気がします (少なくとも何らかの仕様に反している訳ではない筈です)。

Posted by: ろばQ : 2005年6月 3日 20:21

>また1.0よりも新しいバージョン(現状では1.1)のXHTMLを使用することもできますが、その場合メディアタイプにtext/htmlを採用できない点に注意する必要があります。
 論拠となっている「XHTML Media Types」は (「XHTMLのバージョンとメディアタイプ」で仰っている通り) 「W3C Note」であり、(Note である以上) 「採用"できない"」と言い切ってしまうのは些か語調が強すぎるような気がします (少なくとも何らかの仕様に反している訳ではない筈です)。

Posted by: ろばQ : 2005年06月03日 20:21

http://www.w3.org/TR/html4/
の Latest Version を叩くと出てくる
http://www.w3.org/TR/html
は、XHTML 1.0 です。

したがって、HTML の最新バージョンは XHTML 1.0 だと思います。

HTML 4.01 を最新バージョンというためには、SGML アプリケーションとしての、などの前置きが必要かと思われます。

Posted by: yuu : 2005年6月 3日 20:23

お世話になります、 hxxk.jp の真琴です。記事の修正、どうもありがとうございました。素早い対応に感謝しています。早速、私の記事においても修正された旨を追記しました。
私が送ったトラックバックですが、文字コードの関係か概要が文字化けしてしまったようで申し訳ありません。文字化けのまま表示するのもあまりよろしくないでしょうから、トラックバックの概要を修正していただくか、またはトラックバック自体を削除していただけませんでしょうか ? 手前勝手なことで申し訳ありませんが、よろしくお願いします。

Posted by: 真琴 : 2005年6月 5日 01:22

ろばQさま、yuuさま、ご指摘ありがとうございます。いずれもごもっともな内容であり、本文をより適切な内容となるよう変更させていただきます。真琴さま、Trackbackの文字化けについては当サイトの側に原因があるかもしれず、確認を終え次第対応させていただきたいと思います。ご連絡ありがとうございました。

Posted by: ミツエーリンクス : 2005年6月 6日 09:41