区画要素群 %block と修飾要素群 %inline
本文 BODY 要素は、区画要素群 %block の組み合わせとなる。かつては「ブロック構成要素」としたが、訳語として座りが悪いので改める。%block は容れ物 containers であり、本文中の文物はことごとく容れ物の何れかに納めなくてはならない。
<!--================== HTML content models ===============================-->
<!--
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
-->
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT | BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % flow "%block; | %inline;">
修飾要素群 %inline も容れ物ではあるが、こちらは区画要素に埋めこんで使う。
<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
%inline や文物を %block の外に置いてはならない。つまり
<P>
文章
は問題ないが、
文章
<P>
はエラーになる可能性がある。このような場合に、実際の表示をどうするかは、利用者が使う手先の仕様に委ねられる。
以下、本文を区画する各要素を見ていこう。