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 | buttonHTML 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]