HTML 4.01 sample document

HTML 4.01 では HTML HEAD BODY タグは省略できる。

暇めも。

この書きかたは全くお勧めできません。閉じタグが省略できそうでできない要素 (ADDRESS等) もありますので全て省略しないで書くことをお勧めします。省略できたかと考えるよりも全てに閉じタグを書いたほうが (コンピュータも人間も) 悩まずにすみます。

下には書いていませんが、 DOCTYPE 宣言(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 等) は必要です。

例えば以下のソース

<TITLE>SAMPLE</TITLE>
<P>SAMPLE
<P>AAAAAA

は次のようにして解釈されます。たぶん。

まず急にでてきた TITLE 要素ですが、この時点で既に HTML 開始タグが省略されていると考えられ、補完されます。

<HTML>
<TITLE>SAMPLE</TITLE>
<P>SAMPLE
<P>AAAAAA

TITLE 要素は HEAD 要素内でしか使用できませんので、TITLE 要素の前に HEAD 開始タグが補完されます。

<HTML>
<HEAD>
<TITLE>SAMPLE</TITLE>
<P>SAMPLE
<P>AAAAAA

そして P 要素が出現しますが、 P 要素は BODY 要素内でしか使用できないので、この時点で HEAD 要素が終わったと考えられ、HEAD 閉じタグが補完されます。 また、BODY 要素の開始とも考えられるので BODY 開始タグが補完されます。

<HTML>
<HEAD>
<TITLE>SAMPLE</TITLE>
</HEAD>

<BODY>
<P>SAMPLE
<P>AAAAAA

SAMPLE の後に新しい P 要素がきており、P 要素中にはブロックレベル要素を含めないことから、 SAMPLE の後に </P> が省略されていると考えられます。

<HTML>
<HEAD>
<TITLE>SAMPLE</TITLE>
</HEAD>

<BODY>
<P>SAMPLE</P>
<P>AAAAAA

EOF に辿りつくと、閉じタグが省略可能で、まだ閉じられていない要素が内側から閉じられます。 (この場合 P, BODY, HTML)

<HTML>
<HEAD>
<TITLE>SAMPLE</TITLE>
</HEAD>

<BODY>
<P>SAMPLE</P>
<P>AAAAAA</P>
</BODY>
</HTML>

これで、省略されない形のHTMLに戻ってめでたしめでたしです。たぶん。

省略しないほうが頭使わなくていいような。


このドキュメントでは (これ自身も) タグを大文字 (属性は小文字) で書き、できるだけ省略する形で書いています。HTML としては一応正しいですが、XHTML としてはもちろん間違いだらけです。

面白いのは、これでも HTML 4.01 Strict なことでしょうか。HTML 4.01 の場合 XHTML に近い形にもなり、このようにかなりタグを省略した形にもなります


参照