開発覚え書き

ソフトウェアシステムの開発に関わるさまざまなことの覚え書き

XHTML 1.1 文書のIE 6.0での表示 (続き)

2005-07-19 16:40:50 | Weblog
XHTML 1.1 文書のIE 6.0での表示

で書いたとおり、最近XHTML文書がIE 6.0で正しく表示できない場合があることが分かったが、
これはIEがXHTML 1.1の妥当性を検査しようとしてエラーになるため、というのが原因だという。
エラーは以下のようなもの。
使用する前にパラメータ エンティティを定義しなければなりません。リソース 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd' の実行エラーです。ライン 85、位置 2 

%xhtml-prefw-redecl.mod;
-^


下のように、
(A) XML宣言、DOCTYPE、html開始タグを、文書先頭から間にコメントなどを入れずに連続して記述
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/>
<title>タイトル</title>
</head>
<body>
<h1>タイトル</h1>
</body>
</html>


したところ、エラーは出なくなった。この場合は文書はXMLではなくHTMLと見なされ
妥当性検査をしていないようだ。
IEの変な挙動だが、とりあえず(A)の形で書けばよさそうだ。