SITEMAP [初めてのホームページ講座] [HTML4.01 Reference] [その他]

HTML4.01 Reference


概要変更点注意点データ形式その他
A B C D E F H I K L M N O P Q R S T U V W others




DTDの基本

DTD(Document Type Definition)は大きく以下の3つに分けて考えることができます。
Entity definitions
実体の定義を意味します。これは、「パラメータ実体」「一般実体」に分類できます。 前者の「パラメータ実体」とは、スタイルシートやName属性などに見られるように、 文字列に名前を付け、その名前によって定義した文字列を参照できるようにしたもので、 文書の簡略化に役立ちます。ただし、この定義は定義したDTD(定義した文書そのもの)内部のみ で有効となります。 後者の「一般実体」とは、< , & 等のような特殊文字を参照できるようにしたものです。
Element declarations
世間でタグと呼ばれる要素を宣言したものです。 (タグと要素は異なります
Attribute declarations
属性を宣言したものです。

また、HTML4.0では以下のDTDが使用可能です。 HTML文書には文頭にこれらを定義するようになっています。(HTML文書への定義方法

HTML4.01 Strict DTD
廃止予定の要素や属性とフレーム関連を除く、すべての要素と属性が定義されています。
HTML4.01 Transitional DTD
フレーム関連を除く、廃止予定の要素や属性を含むすべての要素と属性が定義されています。
HTML4.01 Frameset DTD
フレーム関連と廃止予定の要素や属性を含むすべての要素と属性が定義されています。
[Go To Top]

DOCTYPE

HTML文書には、常にDTD(Document Type Definition) の使用している バージョンを明記しなければ なりません。HTML4.01に関してのDTD詳細は他に譲るとして、ここではバージョンの明示の仕方を 説明します。HTML4.01には3つのバージョンがあり、将来的に1つに統合されていく予定です。 廃止予定とは将来的なもので、W3Cは期間を言明はしておりません。また、 非推奨となっている 要素、属性は廃止予定の項目です。

私自身あまり大きな事は言えませんが、ブラウザメーカが勝手に拡張した要素や属性を含む場合、 基本的にそれに該当するバージョンは存在しません。こういう場合は、バージョンの明記は 避けた方が好ましいものです。しかし、HTML文書にはバージョンを明記する必要があります。 つまり、メーカが勝手に作った要素や属性は極力使用しないようにすることが良いと 言ってるのです。(例えば、<MARQUEE>などが代表例です)

HTML4.01 Strict DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
廃止予定の要素や属性とフレーム関連を除く、すべての要素と属性が定義されています。 将来、このDTDに統合されていく予定です
HTML4.01 Transitional DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
フレーム関連を除く、廃止予定の要素や属性を含むすべての要素と属性が定義されています。 将来、廃止予定ですが、ブラウザはこれらをサポートする必要があります。
HTML4.01 Frameset DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
フレーム関連と廃止予定の要素や属性を含むすべての要素と属性が定義されています。 将来、廃止予定ですが、ブラウザはこれらをサポートする必要があります。

あらゆるHTML文書の行頭にバージョンを明示する文を加えなければなりません。 この文は、HTML要素の外で構いません(HTML文書の1行目)。

DOCTYPEが宣言されていないHTML文書は、HTML2.0仕様書によると「ブラウザはHTML2.0として扱え」と なっていますが、HTML4.01ではこの考え方では現状に対応できないとの見解を示しております。 つまり、それなりのバージョンとして扱った方がいいとのことでしょう。

全要素、属性に対して、誤った記述をブラウザ側で正常に表示するように求めており、 このDOCTYPEの明示如何に関わらず、正常に表示されるはずです。ただし、誤った記述に 依存したHTML設計は良くないとのことも明言していますので、我々がHTMLを書く場合、 常に文法に気を使わなければなりません。

文法チェックはこちらのサイトで可能です。 http://www.vector.co.jp/htmllint/htmllint.html

参考に以前のバージョンについても追記しておきます。

HTML1.0 DTD
ありません
HTML2.0 DTD
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
HTML2.x DTD
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//EN">
HTML3.0 DTD
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
HTML3.2 DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
HTML4.0 Strict DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
HTML4.0 Transitional DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
HTML4.0 Frameset DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
[Go To Top]

文字参照

符号化方式によっては、全ての文字を表示できるとは限りません。 これは、コンピュータの環境や能力によるもので、これに対してSGML式文字参照を利用することで解決できます。 HTMLでの「文字参照(Character references)」では、「数値文字参照」「文字実体参照」 の2種類があります。

数値文字参照では、文書文字集合に関してコード位置を示すもので、10進数、16進数の2つの形式が用意されています。

10進数(&#D)
「D」に表示したい文字の10進数の数値を代入
16進数(&#xH)
「H」に表示したい文字の16進数の数値を代入(大文字小文字の区別無し)

文字実体参照では、より直感的に理解しやすいように文字や記号による文字参照ができます。 例えば、「&aring;」は小文字の「aリング」を参照するものですが、同じ文字の数値文字参照「&#229;」より直感的に覚えやすく、理解しやすくなっています。 ただし、文書文字集合のすべての文字に対して文字実体参照を定義しているわけではなく、ほんの一部にすぎません。 また、大文字小文字を区別します。特に以下の4つの文字はHTMLで頻繁に使用されます。これらはタグの開始記号や属性値の指定、 文字参照の頭文字記号などに使用されるためです。

[Go To Top]

ブロックレベル要素とインライン要素

HTMLに定義されている要素のほとんどは、「ブロックレベル要素」「インライン要素」に分類することができます。 また、BODY要素内に記述できる要素はブロックレベル要素のみです。 一般的にインライン要素をBODY要素内に記述した場合、ブラウザが自動的にブロックレベル要素を補完してくれます。 しかし、文法的にはDIV要素などを使用し、ブロックレベル要素を入れることが正しいものです。

ただし、例外的なこともあります。例えば、A要素、P要素の場合は、ネストができないことになっており A要素内にA要素を記述することはできません。 また、段落のP要素内に、テーブルやリストなどを記述することもできません。 P要素は終了タグが省略可能なため、よくこれらの間違いが発生します。 よくある間違いは、インライン要素内にブロック要素を記述している例です。例えば、以下のような例がそれに当たります。 下記の例は、インライン要素A内にブロックレベル要素Pが含まれており、 ブラウザ上での表示はできても、HTML文法的には間違いです。 こういう場合は、各要素の順序を逆にすれば問題解決できます。

<A Href="./test.html">
<P>テストページへジャンプします。</P>
</A>

ブロックレベル要素
ブラウザの表示上では、1行改行されているものがこの要素に当たります。 1つのブロックとして構造化する要素で、この要素内には他のブロックレベル要素、インライン要素、データなどを含むことができます。
ADDRESS BLOCKQUOTE CENTER DIR DIV DL FIELDSET FORM
Hx HR ISINDEX MENU NOFRAMES NOSCRIPT OL P
PRE TABLE UL
インライン要素
ブロックレベル要素内に記述します。この要素内には他のインライン要素、データなどを含むことができます。
A ABBR ACRONYM APPLET B BASEFONT BDO BIG
BR BUTTON CITE CODE DFN EM FONT I
IFRAME IMG INPUT KBD LABEL MAP OBJECT Q
S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG
SUB SUP TEXTAREA TT U VAR

INS要素、DEL要素は、ブロックレベル、インラインの両方で使えます。 ただし、両方同時は不可能です。

[Go To Top]

フレーズ要素

文書の特定部分に対して、文書構造上の情報を付加するためのものであり、 以下のような要素が定義されています。(決して見栄えを変えるものではありません)
EM[GO to Element]
強調部分
STRONG[GO to Element]
より強い強調部分
DFN[GO to Element]
引用や参照部分
CODE[GO to Element]
定義を行っている部分
SAMP[GO to Element]
プログラムコード
KBD[GO to Element]
プログラムやスクリプト等の文例
VAR[GO to Element]
読者の入力操作によって充当すべき部分
CITE[GO to Element]
変数部分やプログラムの引数部分
ABBR[GO to Element]
略語(頭文字を繋げた省略語)
ACRONYM[GO to Element]
略語(その他の省略語)
[Go To Top]

フォント関連

フォント種別の大まかな指定として以下のようなものが定義されています。 ただし、全てが非推奨というわけではありませんが、基本的に スタイルシートを使うことが推奨されています。
TT [GO to Element]
タイプライタ風、等ピッチの文字
I [GO to Element]
イタリック体の文字
B [GO to Element]
ボールド体の文字
BIG [GO to Element]
大きい文字
SMALL [GO to Element]
小さい文字
S [GO to Element]
取消線を引かれた文字(非推奨
STRIKE [GO to Element]
取消線を引かれた文字(非推奨
U [GO to Element]
下線を引かれた文字(非推奨
[Go To Top]

Last modified May,2000
Copyright(C)1998 Miyazaki , All Rights Reserved.