1 |
#?SuikaWiki/0.9
|
2 |
[1] [[WinIE]] は [[HTML文書]]内の未知の[[要素型]]の要素の[[開始タグ]]・終了タグを[[強制空要素]]のタグとして処理します。
|
3 |
|
4 |
参考: ''Internet Explorer (Windows) CSSバグリスト'' <http://cssbug.at.infoseek.co.jp/detail/winie/b146.html>
|
5 |
|
6 |
では、この仕様は正しいでしょうか、間違いでしょうか。
|
7 |
|
8 |
[[SGML]] 的には、 [SAMP(HTML)[</foo>]]
|
9 |
の [SAMP[</foo]] まで読んで、それが [CODE(SGML)[[[etago]]]]
|
10 |
と [[GI]] であると解釈します。 [SAMP[foo]]
|
11 |
という GI を知らないからといって後戻りして
|
12 |
[SAMP[<]] を [CODE(SGML)[[[stago]]]]
|
13 |
と認知しなおすことはできません。
|
14 |
(WinIE で [CODE(HTML)[</]] が [CODE(SGML)[etago]]
|
15 |
であることは間違いありません。そうでないと巷の HTML
|
16 |
文書をまともに読むことすらできなくなります。
|
17 |
[WEAK[(SGML 構文解析器ではない WinIE の[[システム宣言]]なんて推測しても空しいだけだけど。)]])
|
18 |
|
19 |
であるからにして、 WinIE の挙動は SGML
|
20 |
違反である、と思ったのですが、逃げ道があることに気づきました。
|
21 |
SGML は SGML 文書を解釈してどんな [[DOM]]
|
22 |
木を作るかを一切規定していません。
|
23 |
非妥当 SGML 文書の誤り回復の結果として未知の要素型名の終了タグを
|
24 |
[CODE[/]] + 要素型名の[[要素節]]に写像しても、
|
25 |
少なくても SGML に文句を言われる筋合いは無いかもしれません。
|
26 |
|