DTD(文書型宣言)
HTMLを書く際、まず先頭に文書型宣言を書くのが一般的です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html40/strict.dtd">
- <!DOCTYPE HTML HTML文書である宣言
- PUBLIC 外部識別子 特定のマシン用ならば SYSTEM が使われます。
- -//W3C 所有者識別
- DTD 公開文種別
- HTML 4.01 公開文記述
- EN 公開文言語
- "http://www.w3.org/TR/html40/strict.dtd" システム識別子
HTMLではこのアドレスは省略可能ですが、XMLになると必ず必要になってきます。
上のシステム識別子のファイルを開いてみて下さい。
HTML4.01 strictのDTDを見る事が出来ます。
これがこれから勉強するHTML4.01の規則が書かれたファイルなのです。
この文書型宣言をしない場合、そのページはブラウザ依存の文書型となるといわれています。
ここに今までの主立ったDTDの内容を検証されたコメントが載っています。
参照なさって下さい。(結構面白いですよ)
なお、XMLでは独自のDTDを作成する事が可能ですが、一からの設計では大変であろうとHTMLをXMLに定義し直したものがXHTMLです。XHTMLと独自のDTDを組み合わせて、XMLを作ることも可能になっています。
HTML4.01の誕生の背景には例のIE4とNC4のブラウザ戦争といわれたシェア争いがあると思われます。このままいけば、インターネットを介しての文書交換の為のHTMLが ブラウザ依存になってしまい、作成側としても両ブラウザの為へのレイアウト作成が無駄な労力を産むとして、立ち上がったのが、ウェブ・スタンダード・プロジェクト。目的は以下のページに書かれています。
W3Cの傘下にあるWAIとウェブ・スタンダード・プロジェクト、この双方が相まって、HTML4.01は生まれたように思います。
HTML4.01のDTDは三種あり、厳密なものが strict、
以前のバージョンとの互換性を配慮したものが Transitional
フレームを使う際に定義されたものが Frameset
ここではstrict DTD を中心に話を進めたいと思っています。
HTML
文書型宣言をしたあと、いよいよHTML文書が始まります。
<html>
<head></head>
<body></body>
</html>
これがHTMLです。
<head>にはそのページの文書情報を書き記します。
<body>はそのページの中身です。
<p>本文</p>
このタグで囲まれたものを要素といいます。
ここで「本文」とされている箇所は内容です。
開始タグの中には<p id="a">
このように属性を設定できるものもあります。
<html>にも属性は用意されており、 lang(XHTMLではxml:lang)で使用言語を指定する事になっています。
<html lang="ja">
日本語ページならば、このように書きます。 この使用言語コードは130以上定義されています。
HTMLファイルがブラウザに読み込まれる際、 この二つの情報がまずは読み込まれるわけです。