xml - 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 创建的。尽管我们仍然坚持使用过时的版本,但我已经检查了当前版本的片段,它完全一样。
我知道之前已经发布过此类问题,并且我已经阅读并尝试了答案,可惜没有一个对我有用。这是我到目前为止所尝试的:
- 从xml 1.1版切换到1.0版,错误依旧
- 从双引号切换到单引号
- 完全省略了引号
- 尝试改用 HTML5
- 完全省略了 xml 声明
- 尝试使用 XHTML 过渡而不是严格
以上都没有修复错误,这就是我发布这个的原因。由于我真的无法缩小错误范围,因此我将非常感谢任何建议或见解。
解决方案
有效性不仅是标头,还包括生成的 HTML。
如果您有混合来自 XHTML、html4 和 html5 的内容,则没有声明将匹配内容。
正如@Quentin 建议的那样:从 validator.w3.org 获得更详细的分析。然后,您可能会确定无效的来源。
如果您使用其他模板(标记模板/纯打字稿渲染,其中 HTML 是通过包装添加的),您将拥有 html/xhtml 版本的混合的可能性很高。
默认情况下,流体模板大多符合 html5。
推荐阅读
- notepad++ - 如何在记事本++中的特定工作区下创建文件
- java - 如何优雅地包装java中的重载方法?
- r - GEE 回归将 NaN 值作为数据帧子集的结果
- java - 如何在没有转换错误的情况下添加到新的 ArrayList?
- java - 每半秒同步一次数据库是个好主意吗?
- facebook - Facebook 应用邀请的应用链接 URL
- android - button_object.findViewByid(R.id.button_id) & button_object=(Button)findViewById(R.id.button_id)
- pyqt - pyqt4 将图像设置为中心小部件
- google-cloud-firestore - 获取 id 作为 Firestore 中的字段
- python - 如何使用 python 编辑 Visio 文件 (vsdx) 中的文本?