XHTML:DOCTYPE、link 和 meta 用正斜杠关闭?

XHTML: DOCTYPE, link, and meta closed with forward slash?

提问人:Invictus 提问时间:3/28/2023 更新时间:3/30/2023 访问量:54

问:

我无法使用搜索引擎找到问题的答案;有些话题很接近,但并没有完全回答我的问题。ChatGPT3 在做自相矛盾的陈述,在兜圈子推理。我希望你能遵守我的新手问题。

我知道XHTML总有一天会取代HTML,所以我决定学习XHTML。 我知道XHTML和HTML之间的主要区别之一是,在XHTML中关闭但在HTML中不关闭的独立标签(可能没有使用正确的命名法),即:XHTML:
<img src=“./demo.gif” /> <---注意末尾的正斜杠 HTML:<img src=“./demo.gif”> <---注意末尾
没有正斜杠

现在,我想知道在XHTML中是否还需要用正斜杠关闭DOCTYPE标签和一些标题元素。即:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd” /> <--- 注意末尾
的正斜杠 <html>
<head>

<meta charset=“utf-8” /> <---注意末尾的正斜杠** <meta name=“viewport” content=“width=device-width, initial-scale=1.0” /> <---注意末尾的正斜杠** <link rel=“stylesheet” href=“./stylesheet.css” /> **

<--- 注意末尾的正斜杠

</头>
<身体>

你好。

</body>
</html>

感谢您的耐心等待,

SilverC3ll

我尝试在文档的 HTML 前位置使用正确的 XHTML 语法(上面的 DOCTYPE <html>),并尝试将正确的 XHTML 语法应用于 meta 和 link 元素。我用正斜杠关闭了这些标签。我预计即使语法可能存在错误,浏览器仍会按预期显示文件,因此我无法验证我的语法是否正确。

语法 标记 xhtml

评论

0赞 Quentin 3/30/2023
“ChatGPT3 在做出自相矛盾的陈述,在兜圈子里推理”——那是因为它是一个下一个单词预测引擎,而不是一个搜索工具。

答:

-1赞 Alohci 3/30/2023 #1

我知道XHTML有一天会取代HTML

这种理解是不正确的。不期望 XHTML 会取代 HTML。大约20年前,曾几何时,人们普遍抱有这种期望,但这种期望早已过去。但是,它是一种有效的替代语法。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" /><---注意末尾的正斜杠

在 XHTML 中,DOCTYPE 的末尾不得有正斜杠。但是,可以完全省略 DOCTYPE。如果选择将 DOCTYPE 与 XHTML 一起使用,则正确的形式与 HTML 语法完全相同:.<!DOCTYPE html>

XHTML 不是通过 DOCTYPE 标识的,而是通过 HTTP 内容类型标头中的内容类型标识的。这应该是 .如果你不这样做,浏览器会把你的文件看作是HTML,而不是XHTML,你使用XHTML的尝试将是徒劳的。application/xhtml+xml

<meta charset="utf-8" /><---注意末尾的正斜杠**

元元素和链接元素以及所有其他 void 元素必须显式关闭,要么通过末尾的正斜杠,要么通过关闭标记,例如 紧跟在开始标记之后。</meta>

我预计即使语法可能存在错误,浏览器仍会按预期显示文件,因此我无法验证我的语法是否正确。

如果您使用 Firefox,如果 XHTML 文件包含语法错误,则它根本不会显示,并且只会显示错误消息。否则,请使用验证器。同样,请确保使用正确的内容类型提供文件。

-1赞 Quentin 3/30/2023 #2

我知道XHTML有一天会取代HTML

预计它将在 2000 年代初取代 HTML。

然后 HTML 5 出现了,XHTML 2 的工作停止了。

浏览器旨在实现 Living HTML 标准。XHTML 1.x 已过时。

现在,我想知道XHTML中的DOCTYPE标签

DOCTYPE 不是标记。

一些标题元素也需要用正斜杠关闭

在 XHTML 中:

  • 每个元素都需要显式结束
  • <foo />并且是等价的<foo></foo>

请注意,如果您使用内容类型提供 XHTML,则应遵循附录 C 兼容性指南,该指南使 XHTML 尽可能接近 HTML,以便在解析为 HTML 时不会中断。text/html


我强烈建议不要使用 XHTML。