[1] 強制空要素
と空要素
:
以前は強制空要素のことを空要素と呼んでいましたが、
通常の要素型の要素でたまたま内容が空であるものを
空要素
と呼ぶこともありました。
そのため、 Web SGML では新たに強制空要素
という語が導入され、
たまたま空の要素と常に空の要素型の要素を明確に区別することができるようになりました。
[2] 素のSGML では、強制空要素の終了タグを記述することは禁止されています。
例えば、 HTML の br
要素型は
EMPTY
と定義されていますから、必ず
<br
>
とだけ書かなければなりません。
[3] Web SGML では SGML宣言に EMPTYNRM
という指定を新設しています。この値が YES
の場合は、強制空要素の終了タグにも他の型の要素と同じ規則が適用されます。
例えば、 XHTML 1 の br
要素型は
EMPTY
と定義されていますが、必ず
<br
></br
>
のように終了タグも書かなければなりません。
[6] なお、 >>3 の場合に終了タグにはマーク最小化が通常通り適用されることにも注意してください。
例えば、 >>3 の例で、 XML は NETENABL IMMEDIATE
なので、
<br
/>
と書いてもまったく同じ意味になります。
(なお、 >>3 の例と >>9 の例はタグの表現方法が異なるだけで、要素構造 (特に XML の場合には XML情報集合) としてはなんら違いがないことに注意してください。また、強制でない空要素についてもまったく同様のことが言えます。)
[4] EMPTY
と宣言された強制空要素は一般に、
非解析対象実体の place holder として使います。
<!ELEMENTimage
- o EMPTY> <!ATTLISTimage
name
ENTITY #REQUIRED> ... <!NOTATION png SYSTEM " PNG image "> <!ENTITYimage-1
SYSTEM " image-1.png " NDATA png> ... <image
name
="image-1">