Column3. 「ドキュメントタイプについて」

 

ドキュメントタイプについてお話する前に、まずHTMLがどのようにして生まれ、定義されて来たものなのかをお話しなければなりません。HTMLは当初、CERN(欧州原子核共同研究所)によって定義されたものだそうですが、現在ではW3C(World Wide Web Consortium)という非営利団体の協議により仕様が定められるようになっています。

W3Cによって定義されたHTMLの最も最新のバージョンは1999年12月24日に勧告された4.01で、これが現在のHTML記述のガイドラインです。しかしIE やNetscape などのブラウザ・メーカーでは独自にタグを定義し、それぞれのブラウザで動作するようにしたものもあり、それらは表現の多様化に大きく貢献してきました。後にその一部が標準のHTMLに取り入れられたりもしているようですが、全てがそうなっているわけではなく、従ってブラウザによっては動作しないタグも存在します。

こうした事情から、それぞれのHTML文書が、厳密な定義に従って書かれているのか、それともそれ以外のタグも用いて書かれているのか、更にフレームを使っているのか否かをHTMLの最初で宣言するために必要なのが「ドキュメントタイプ」と呼ばれるものなのです。ですから、これを書き込むことが正式なHTML文書では必要とされています。なお、これは必ず文書の冒頭部分に書き込みますが、現時点では以下の3種類を覚えておけば十分でしょう。3種類で違っているのは、緑のマーカーで印を付けた部分です。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/REC-html4/strict.dtd">

※HTML4.0(1997年12月18日勧告)で推奨されないタグや、フレームに関するタグを使用せず、厳密にHTML4.01の仕様にのっとって書かれている場合。

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/REC-html4/loose.dtd">

※フレームに関するタグは使用しないが、HTML4.01で定められた以外にも多様なタグを使用している場合。ただし、インラインフレームは使用できます。

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/REC-html4/frameset.dtd">

※全てのタグに加えて、フレームも用いる文書の場合。

 

IEやNetscapeの最近のバージョンになりますと、このドキュメントタイプによって表示モードが切り替わるようになっており、書き込まなければ、各社が独自に定義した表示方法に互換性を持って対応してくれるようです。ただし、ブラウザごとに表示はやはり異なって来ますので、代表的なブラウザでどのように表示されるかはその都度確認する必要はあるでしょう。また、それ以前のバージョンやメーカーのブラウザももちろんあるわけですから、正しく書き込んでおくに越したことはないかもしれません。これでお分かり頂けるとおり、特に問題になってくるのはフレームページの表示についてで、これを使用する時は、それに応じたドキュメントタイプを宣言しておくことが必要になってくるわけです。それ以外の場合は、2番目の「フレーム以外ならOK」というタイプを宣言しておくのが無難でしょう。

また、ドキュメントタイプの他にも「ドキュメント情報」と呼ばれるものがあります。HTMLスクリプトの理解を深める上で必要なものですので、Column4.「文字セットとスクリプト言語の設定」、Colum5.「ドキュメント情報について」も、合わせてご一読下さい。

 

2006.7.20.