last modified 5th/Oct. 2000
HTML 文書は一つの HTML 要素に対する子要素である、 HEAD 要素と BODY 要素とから成ります。 HEAD 要素が文書のヘッダで、 BODY 要素は文書の内容そのものです。
BODY 要素は HTML 要素の子供要素として必ず一度だけ現れますので、開始タグと終了タグが省略可能です。しかし、必ず記述するように御奨めします。
BODY 要素はブロック要素から成ります。
Transitional ではブロック要素に限らず、インライン要素も直接子供要素に成り得るのですが、この点は Strict に従う方を御奨めします。
また、 Transitional DTD では、 BODY 要素に「背景画像、背景色、文字色、リンクアンカーの文字色」を指示する属性が定義されていすが、これらは廃止予定の属性です。スタイルシートで実現すべきでしょう。
HTML 4 Transitional DTD の抜粋;
<!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- document body --> <!ATTLIST BODY %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #IMPLIED -- the document has been loaded -- onunload %Script; #IMPLIED -- the document has been removed -- background %URI; #IMPLIED -- texture tile for document background -- %bodycolors; -- bgcolor, text, link, vlink, alink -- > <!ENTITY % bodycolors " bgcolor %Color; #IMPLIED -- document background color -- text %Color; #IMPLIED -- document text color -- link %Color; #IMPLIED -- color of links -- vlink %Color; #IMPLIED -- color of visited links -- alink %Color; #IMPLIED -- color of selected links -- ">
内容モデルの "A
*" は、 A
がゼロ回以上現れても良いことを表す。
内容モデルの "+(A
)" は、 A
が現れても良いことを表す。
パラメタ実体 %attrs に含まれる属性は、殆ど全ての要素に対して定義されています。 %attrs;
は、 %coreattrs;
, %i18n;
, %events;
に展開されます。従って、要素を識別する %coreattrs; に属する属性、文書の国際化のための %i18n; に含まれる属性、 動的なページの為のイベントを指定する %events; に含まれる属性は、殆ど全ての要素に対して定義されています。
%flow;
body
要素は、一つの内容セットを定義している。
body 要素の内容モデルになり得る要素タイプは、 %block;
(ブロック要素)と %inline;
(インライン要素)に大別される:
%block;
p
| %heading;
|
%list;
|
%preformatted;
|
dl
| div
|
center
| noscript
|
noframes
|
blockquote
|
form
| isindex
| hr
|
table
| fieldset
|
address
パラメタを全て展開すると、次のようになる:
%headings;
h1
| h2
| h3
|
h4
| h5
| h6
%list;
ul
| ol
| dir
|
menu
%preformatted;
pre
%inline;
#PCDATA
|
%fontstyle;
|
%phrase;
|
%special;
|
%formctrl;
パラメタを全て展開すると、次のようになる:
%fontstyle;
tt
| i
| b
| u
|
s
| strike
| big
|
small
%phrase;
em
| strong
| dfn
|
code
| samp
| kbd
|
var
| cite
| abbr
|
acronym
%special;
a
| img
| applet
|
object
| font
| basefont
|
br
| script
| map
|
q
| sub
| sup
|
span
| bdo
| iframe
%formctrl;
input
| select
| textarea
|
label
| button
HTML 4 Transitional 文書型では、 body 要素タイプの内容デルは、任意のブロック要素及びインライン要素であるとされています。しかし、 HTML 4 Strict ではブロック要素に限られますので、 Transitional でもこれに従う方が望ましいでしょう。
%attrs;
%coreattrs;
%i18n;
%events;
onload
= script [CT]BODY
要素と FRAMESET
要素で用いられる。onunload
= script [CT]BODY
要素と FRAMESET
要素で用いられる。background
= uri [CT]%bodycolors;
bgcolor
= color [CI]text
= color [CI]link
= color [CI]vlink
= color [CI]alink
= color [CI]