html-entities - XHTML5 和 HTML4 字符实体

标签 html-entities html

XHTML5是否支持 等字符实体。在工作中,我们可能需要特定的软件才能访问站点的管理端,并且人们要求多文件上传。对我来说,这是一个要求迁移到 FF 3.6+ 的简单理由,所以我很快就会这样做。我们目前使用 XHTML 1.1,在转向 HTML5 后,我在字符实体名称方面遇到问题...有人有这方面的文档吗?

我看到 WHATWG 上有一个列表规范,但我不确定它是否会影响用作 application/xhtml+xml 的文件。无论如何,Chromium nightly 和 FF 3.6 中提到的两个触发错误。

最佳答案

XHTML5 没有 DTD,因此 XML 解析器看不到实体定义(预定义的除外)。如果您想使用一个实体,您必须在内部子集中为自己定义它。

<!DOCTYPE html [
    <!ENTITY mdash "—">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
    ... &mdash; ...
</html>

(当然,如果您将内部子集作为 text/html 提供给浏览器,则使用内部子集可能会使浏览器出错。不允许在非 XHTML HTML5 文档中发送内部子集。)

HTML5 wiki目前推荐:

Do not use entity references in XHTML (except for the 5 predefined entities: &amp;, &lt;, &gt;, &quot; and &apos;)

我同意这个建议,不仅适用于 XHTML5,而且适用于一般的 XML 和 HTML。今天没有理由将 HTML 实体用于任何事情。直接键入的 Unicode 字符对每个人来说都更具可读性,并且 &#...; 字符引用可用于那些无法保证 8 位/编码干净传输的不幸情况。 (由于没有为大多数 Unicode 字符定义 HTML 实体,因此无论如何您都需要这些实体。)

关于html-entities - XHTML5 和 HTML4 字符实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3215053/

相关文章:

php - URL + html实体?怎么想这个?

javascript - 使用 jquery/javascript 读取 div 内的所有标签

显示默认字体系列后延迟显示 HTML 字体系列

javascript - 内部 js 工作正常,但外部没有

android - "hamburger icon"或 HTML 实体 ☰ 的回退是什么?

php - 删除解析文本中的 html 实体 - Php

python - 当值具有实体时,Selenium WebDriver get_attribute 返回 href 属性的截断值

php - 为什么 htmlentities 在每行末尾的文本区域内添加 2 个额外的新行?

html - rails will_paginate 仅显示当前页面链接

javascript - 关于浏览器如何解释 HTML/CSS/Javascript