#?SuikaWiki/0.9
* entity 要素型 (HTML)
[1] [[HTML]] の [CODE(HTMLe)[entity]] 要素型は、 [[WinIE3.0]]βの独自拡張と言われています。
その根拠とされるものは、おそらく M$ が公開した WinIE 3.0βの [[DTD]]
( 参照。1996年11月。) でしょう。
この DTD には、
[PRE[
]]>
]PRE]
という部分があります。要素型として [CODE(HTMLe)[ENTITY]]
が登場するのはこの部分だけです。
つまり、非推奨な[[内容モデル]]で[[行内要素]] [CODE(HTMLe)[entity]]
を参照しているのですが、その要素型は定義されていません。
[WEAK[([[SGML]] 的には特に問題はありません。)]]
[2] では、なぜ IE3β DTD に定義されていない要素型が混入したのでしょうか。
この DTD の冒頭には [Q[This markup is based as much as possible on the DTD for HTML 3.2 published by W3C (also known as the Wilbur DTD), dated 5/31/96.]]
と書かれていますので、 Wilbur DTD を探してみましたのですが、
5月6日付と8月13日付はあるもののその間は見つかりませんでした。
で、そのいずれも、相当部分は
[PRE[
]PRE]
となっています。もちろん [CODE(HTMLe)[entity]] 要素型は定義されていません。
'''Re: Deprecating FONT and CENTER'''
に、5月31日版からの修正案がありますが、残念なことに肝心の部分がありません。
[3] >>2 よりも前の 1996年3月に、同じ著者 (M$ の人) が [[WinIE2.0]]
用の DTD を書いています。
>>2 と同様の
[PRE[
]]>
]PRE]
がある他に、
[PRE[
]]>
]PRE]
という[[属性定義並び宣言]]があります。やはり[[要素型宣言]]はありません。
この属性定義並び宣言によれば、 [CODE(HTMLa)[[[id]]]],
[CODE(HTMLa)[[[class]]]], [CODE(HTMLa)[[[lang]]]] 属性があることになります。
[WEAK[(この共通属性の定義は [[HTML3.0]] からコピってきたと注記されています。)]]
この DTD は [[HTML2.0]] draft をもとにして作ったと書かれているのですが、
やはり元の HTML 2.0 draft DTD に該当箇所はありません。
[4] [[HTMLPro]] という処理系があって、色々な独自拡張を修正した DTD
を持っていますが、この DTD には [CODE(HTMLe)[entity]] 要素型が定義されています。
注釈は [Q[EXPERIMENTAL SGML entity]] となっています。
同様に [CODE(HTMLe)[[[element]]]] 要素型や [CODE(HTMLe)[[[attrib]]]]
要素型も定義されています。 (SGML の要素型名や属性名や実体名をマーク付けするための要素型らしいです。)
説明文書によると、既存の [CODE(HTMLe)[entity]] 要素型や
[CODE(HTMLe)[[[comment]]]] 要素型に [CODE(HTMLe)[element]] と
[CODE(HTMLe)[attrib]] を加えて文書記述に実験的に導入してみたということです。
* メモ