【问题标题】:IE cannot find the W3C XHTML DTD (Error 2146697204)IE 找不到 W3C XHTML DTD(错误 2146697204)
【发布时间】:2010-11-15 06:09:47
【问题描述】:

我有一个像这样开始每个页面的模板:

<?xml version="1.0" encoding="utf-8"?>
<!-- blah blah-->
<!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">
...
</html>

产生错误:

无法显示 XML 页面 无法使用样式查看 XML 输入 床单。请更正错误并 然后单击刷新按钮,或尝试 稍后再试。


服务器不理解 请求,或请求无效。 错误处理资源 'http://www.w3.org/TR/xhtm...

在 IE 上,因为 W3C has stopped serving the DTD

解决这个问题的正确方法是什么?

【问题讨论】:

  • 很抱歉我不能回答你的问题,但我只能在这里编辑一下。这体现了我对 XML 的所有体验。多么潜伏的恐怖。
  • @Jonathan:XML 中没有任何内容表明它应该下载 DTD。也没有任何内容表明在找不到 DTD 时加载 XML 会失败。 DTD 的标识符不等于它的位置(故意)。如果这是您使用 XML 的经验,我可以理解这很可怕,但是您没有使用与 XML 兼容的工具(不幸的是,这太常见了)。

标签: internet-explorer xhtml w3c dtd doctype


【解决方案1】:

可能的解决方案

我上传了两个文件供您查看:

  1. 作为 HTML 文件:try it out,标题为 text/html
  2. 作为 XML 文件 try it out,标题为 text/html

第一个适用于所有浏览器。第二个将在 IE 中失败(并在其他人中工作),因为它忽略了服务器的标头。原因:文件名部分的*.xml 结尾。这是 IE 的错误行为,但我们必须处理它。如果您的文件名以 xml 结尾,或者您的服务器将其作为 application/xml 发送,请更改这些设置。

背景

您引用的资源标识符不是资源标识符。它是一个唯一标识符,可以说是一个占位符。在提供 HTML 的情况下(不管在这种情况下是 XHTML),它从来都不是用来下载的。这是行为不端的 IE。

您引用的帖子表明他们可能将资源脱机。 The DTD is still online。对于其他标准,他们使用了不同的方法,其中资源不在与标识符相同的位置在线(人们对命名空间有同样的问题:它不是资源,它是标识符)。

这不是 XML 的恐怖,而只是 IE 的行为异常。要使用 IE 和 XHTML,您必须将其作为 text/xml 作为 MIME 类型。如果你在本地运行它,你会得到这个错误。尝试以不同的方式提供服务。

注意:在您提问之前:XML 规范声明不应下载 DTD,而应将其视为唯一 ID。仅用于验证 XML 下载资源是好的,但标准说资源 ID 和实际资源不需要相同。

【讨论】:

    【解决方案2】:

    我发现一个帖子说类似的事情是由于权限问题。

    您可能想在 IE 中尝试以下操作:

    嗨,卡尔, 只是猜测,可能是什么问题..你的IE 安全设置导致此错误。如果你检查 Internet选项->安全,你会看到一个选项 “跨域访问数据源”。它通常 禁用。请启用它,看看它是否有效..

    问候, 穆库尔

    来源:http://www.stylusstudio.com/xsllist/200412/post41070.html

    我不确定此选项会引发哪些安全问题。

    【讨论】:

    • 该设置应保持禁用状态。它在我的 IE 中被禁用,它不会突然开始下载 DTD 或引发有关它的错误。简单地说:如果它认为它是 HTML,它应该(也不会)下载 DTD。
    【解决方案3】:

    IE 根本不支持 XHTML。

    它的 DTD 目录中应该有该 DTD。浏览器不应该实际下载 DTD(出于实际原因,规范 foolishly 允许这样做)。

    【讨论】:

      【解决方案4】:

      用户需要安装以下更新来解决问题:

      http://support.microsoft.com/kb/973687/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-02
        • 2010-11-03
        相关资源
        最近更新 更多