症状
当您访问某个 Web 站点或运行某个应用程序,使用 Microsoft XML Core Services (MSXML) (MSXML)加载 XHTML 文档时,MSXML 每次都将请求发送到万维网联合会 (W3C) 来获取已知的文档类型定义 (DTD) 文件。这种现象可能会使 W3C 服务器严重阻塞。有时,您可能会发现因为 DTD 请求被 W3C 服务器阻止而未能成功加载 XHTML 文件。例如,您有一个 JavaScript 文件 (.js),其中包含下面的代码:
function pullXHtml() { var xml = new ActiveXObject("Msxml2.DOMDocument.4.0"); xml.async = false; xml.loadXML( "" + "
a simple paragraph
"); 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 文档。当您运行 JavaScript 文件时,如果 DTD 请求被W3C 服务器阻挡,如果您没有安装此更新,可能会收到下面的错误消息:
错误: 服务器无法理解此请求,或请求无效。错误处理资源'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'.
安装此更新后,将成功运行 JavaScript 文件,您将收到以下消息︰
XHTML 文档已成功加载。注意:
在应用此更新后,MSXML 缓存的 DTD 文件本地化以减少发送到 W3C 服务器的请求数。
安装此更新后,可能提示您重新启动计算机。
如果在 Windows Vista 中,Windows Server 2008 中,或在 Windows 7 中,您可以安装此更新,您必须以管理员身份运行该安装程序文件。
有关 XHTML 文档类型定义 (DTD) 的更多信息,请参见"更多信息"一节。