为啥不推荐使用 xmp HTML 标签? [复制]

Posted

技术标签:

【中文标题】为啥不推荐使用 xmp HTML 标签? [复制]【英文标题】:Why was the xmp HTML tag deprecated? [duplicate]为什么不推荐使用 xmp HTML 标签? [复制] 【发布时间】:2012-01-08 14:53:42 【问题描述】:

可能重复:<XMP> Tag

我知道它当然已被弃用,而且我知道如何使用&lt;pre&gt; 标签、&lt;code&gt; 标签和&lt;&gt; 转义来解决它。

我的问题是,为什么它被弃用了?在&lt;xmp&gt; 标签中包含真实代码的解决方案似乎比我们现在所做的所有这些转义要优雅得多,然而,一个被忽略了,取而代之的是另一个。

有什么想法吗?是否有理由偏爱 &lt;pre&gt; 转义而不是 &lt;xmp&gt;

【问题讨论】:

我认为您不太可能得到答案,因为该决定是在 15 年前的封闭环境中做出的……无论如何,这都是题外话。可能适合programmers.stackexchange。 它并没有只是被弃用,它在 html5(我相信 HTML4)规范中被完全删除并且不应再受支持。 我理解你提出的这两点,但在一个封闭的圈子里做出决定:他们仍然必须有他们的理由,这些理由植根于元素的使用方式(不是由一个封闭的组);就它被完全删除而言,我并没有尝试使用它,我只是想了解标签或概念本身是否有任何问题。例如,它是否构成安全威胁? (不知道如何)人们不想复制粘贴他们的代码吗?那还是有可能的。 pre 标签没有带来任何好处。为什么要删除好东西? @animuson - 它没有完全从 HTML5 中删除。它在这里被列为不合格:dev.w3.org/html5/spec/obsolete.html#non-conforming-features,更重要的是,它的解析规则在dev.w3.org/html5/spec/… 中描述 - 从那里向下搜索A start tag whose tag name is "xmp" 这将是一个答案,但问题已关闭。请参阅w3.org/Bugs/Public/show_bug.cgi?id=12235 根据 HTML5 编辑器(cmets 11 和 12),无论哪种方式都非常接近。 【参考方案1】:

This article对xmp的折旧有详细说明。

tl;博士;消除解析 html 中的歧义。

【讨论】:

【参考方案2】:

对我来说最令人信服的原因是,使用标签将无法将 html 视为格式正确的 xml。

也就是说,改变文档处理方式的标签背后的特殊含义是一个不好的先例,因此无法解释较新的版本。例如,如果您在不了解特定标记规范的情况下无法判断未知标记何时结束,则无法跳过其内容的未知标记。

【讨论】:

它在 HTML 3.2 中被标记为已弃用。 XML 不会被考虑在内。 但是 xml 处理背后的相同原因已经存在。 (想想 SGML)。 这实际上是有道理的,这是我听说的唯一原因。也许他们想在人们太习惯之前杀死它。谢谢你,迈克尔。 不客气。在阅读您的评论之前,我已经添加了一些详细信息,但看起来您已经有了这个想法,这比详细信息更笼统。 他们离开了&lt;script&gt;&lt;style&gt;

以上是关于为啥不推荐使用 xmp HTML 标签? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

HTML页面中显示HTML标签代码

为啥 AngularJS 指令中不推荐使用 `replace` 属性? [复制]

为啥标签没有被包裹在 div 中? [复制]

html中为啥会自动增加span标签,会自动换行,不想要这个自动的功能,怎么去除

为啥 <textarea> 不自动关闭? [复制]

如何使用 PHP 生成 PDF 文件? [复制]