last modified 5th/Oct. 2000
次は、 HTML 4 Transitional の基本的な構造だけを記述したものです:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <title></title> </head> <body> </body> </html>
一、二行目が文書型定義 (Document Type Definition; DTD) 宣言です。ここでは、旧版との互換性を保つ為に過渡的に用意された移行型文書型定義 (Transitional (loose) DTD) が宣言されています。
HTML 4 の DTD には、 Transitional をフレーム枠文書用に修正した Frameset DTD と、 Transitional から推奨しない属性や要素タイプを削除した厳密型の Strict DTD が存在します。本稿では基本的に Transitional, Frameset DTD を紹介しますが、非推奨の属性や要素についてはその都度注意を与えます。
XHTML 1.1 では HTML 4 Strict に順ずる文書型しか存在しません。非推奨の要素タイプや属性は、モジュールとして、別途組み込んで宣言する必要があります。
文書型定義宣言の次の行から HTML 文書の要素を記述します。
<html>
から </html>
までを HTML 要素と呼びます。 <html>
は HTML 要素の開始タグと呼ばれ、 </html>
を終了タグと呼びます。一般に要素は開始タグから始まり、終了タグで閉じられます。
HTML 要素は一つの HTML 文書に一回だけ現れ、 HTML のあらゆる要素は HTML 要素の子孫要素として定義されています。このような性質を持つ要素として、 HTML 要素の事をルートと呼びます。
子孫要素とは、或る要素の内側に記述された要素のことです。或る要素の子孫要素の中で、最も階層の浅いものを特に、子要素(子供要素)と呼びます。
HTML 要素の子要素は HEAD 要素と BODY 要素だけが許され、これらが順番に一回ずつ現れます。他のあらゆる要素は、 HEAD 要素か BODY 要素の子孫要素として現れると云う事です。
上に挙げたサンプルコードでは、 HTML 要素の開始タグ <html>
に lang="ja"
と書き込まれています。このように要素の開始タグに記述する文字列を属性と呼びます。属性は要素に対して付加的な情報を与え、時には本質的な役割を果たします。
HTML 要素の開始タグ;
<html lang="ja">
lang="ja"
は lang 属性と呼ばれ、当該要素の言語を指定します。ここで指定した lang 属性の値 ja は日本語であることを意味しています。特にルート要素である HTML 要素に与えられた lang 属性はその文書で標準的に用いる言語を指定することになりますので、必ず記述するようにしましょう。英語ならば lang="en"
になります。
lang 属性は パラメタ実体 %i18n; に含まれる属性です。 %i18n; は殆どの要素に定義されているので、これに含まれる lang 属性も殆どの要素に定義されている事になります。
一般に属性は「属性名="属性値"
」と云う形で現れ、必ず開始タグの中に記述されます。
<!ENTITY % html.content "HEAD, BODY"> <!ELEMENT HTML O O (%html.content;) -- document root element --> <!ATTLIST HTML %i18n; -- lang, dir -- %version; >
文書ルート要素(最大親要素)
内容モデル "A, B
" は、 A
と B
が必ずこの順番で現れなければならないことを表す。
%i18n;
lang
= language-code [CI]en
: 英語en-US
: アメリカ英語。ハイフン以下は通常方言を指す。ja
: 日本語dir
= LTR | RTL [CI] ltr
: 表、テキストにおいて左から右へ進む。rtl
: 表、テキストにおいて、右から左へ進む。アラビア語、古い日本語など。%version;
version
= cdata [CN]-//W3C//DTD HTML 4.01 Transitional//EN
"
<html lang="ja" dir="ltr"
version="-//W3C//DTD HTML 4.01 Transitional//EN">