首页 > 解决方案 > XML 在 Firefox 和 Edge 中的 doctype 格式不正确

问题描述

我在 Firefox 和 Edge 的开发者控制台中的网页上收到“XML 格式不正确”错误。Chrome 工作正常,什么也不显示。错误消息表明 XML 声明或文档类型对此负责。这是我正在使用的:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

但是,每个浏览器和在线 XML 解析器都指向不同的位置,所以我不确定错误的确切位置。例如,Edge 给我第 1 行第 68 列,而 Firefox 指向第 84 列。相关页面可以在https://dev.heco.de/找到。上面的代码片段是由我们使用的 CMS TYPO3 创建的。尽管我们仍然坚持使用过时的版本,但我已经检查了当前版本的片段,它完全一样。

我知道之前已经发布过此类问题,并且我已经阅读并尝试了答案,可惜没有一个对我有用。这是我到目前为止所尝试的:

以上都没有修复错误,这就是我发布这个的原因。由于我真的无法缩小错误范围,因此我将非常感谢任何建议或见解。

标签: xmlfirefoxdoctypexml-declaration

解决方案


有效性不仅是标头,还包括生成的 HTML。
如果您有混合来自 XHTML、html4 和 html5 的内容,则没有声明将匹配内容。
正如@Quentin 建议的那样:从 validator.w3.org 获得更详细的分析。然后,您可能会确定无效的来源。

如果您使用其他模板(标记模板/纯打字稿渲染,其中 HTML 是通过包装添加的),您将拥有 html/xhtml 版本的混合的可能性很高。
默认情况下,流体模板大多符合 html5。


推荐阅读