BUG #: 118145 (コンテンツ管理)バグ #: 332758 (SQLBUVSTS)
現象
Web サイトにアクセスするか、Microsoft XML Core Services (MSXML) を使用して、XHTML ドキュメントを読み込むアプリケーションを実行するには、MSXML は World Wide Web コンソーシアム (W3C) がよく知られているドキュメント型定義 (DTD) ファイルをフェッチするために要求を送信するたびにします。この現象は、W3C サーバーに大量のトラフィックをもたらす可能性があります。場合によっては、DTD 要求 W3C サーバーによってブロックがあるために、XHTML ファイルが正常に読み込まれずがあります。
たとえば、次のコードが含まれている JavaScript ファイル (.js) があります。
function pullXHtml() { var xml = new ActiveXObject("Msxml2.DOMDocument.4.0");
xml.async = false;
xml.loadXML(
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" +
"<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'><head><title>simple document</title></head>" +
"<body><p>a simple paragraph</p></body></html>");
if (xml.parseError.errorCode != 0) {
var myErr = xml.parseError;
WScript.Echo("ERROR:" + myErr.reason);
} else {
WScript.echo("The XHTML document was loaded successfully.");
}
}
pullXHtml();
JavaScript ファイルを実行するとファイルは、MSXML を使用して、XHTML ドキュメントを読み込みます。この更新プログラムがインストールされている必要はありません、DTD 要求 W3C サーバーによってブロックされた場合、JavaScript ファイルを実行するときに次のエラー メッセージが表示される場合があります。
エラー: サーバーが要求を理解していないか、要求が有効ではありませんでした。
エラー処理のリソース
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'.
この更新プログラムをインストールすると、JavaScript ファイルが正常に実行し、次のメッセージが表示されます。
XHTML ドキュメントが正常に読み込まれました。注:
-
この更新プログラムを適用すると、MSXML は W3C サーバーに送信される要求の数を減らすには、ローカルの DTD ファイルをキャッシュします。
-
この更新プログラムをインストールした後は、コンピューターを再起動する必要があります。
-
Windows Vista では、Windows Server 2008 または Windows 7 では、更新プログラムをインストールする場合は、セットアップ ファイルを管理者として実行する必要があります。
-
XHTML とドキュメント型定義 (DTD) の詳細については、「関連情報」セクションを参照してください。
解決策
更新プログラムの情報
MSXML のバージョンを確認する方法
お使いのコンピューターにインストールされている MSXML のバージョンを確認するには、次の手順を実行します。
-
Msxml4.dll ファイルを次のディレクトリで検索します。
C:\Windows\System32 -
Msxml4.dll ファイルを右クリックし、[プロパティ] をクリックします。
-
バージョン情報を表示するには、 [バージョン] タブをクリックします。
注: Windows Vista、Windows 7 では、または Windows Server 2008 では、代わりに -
] タブをクリックします。