在XML中,命名实体引用如下;和&bull;(使用<;的特殊例外>&"&apos;)可以治疗作为一致的XML处理器会出现格式良好的错误。(是的,这意味着使用任何命名实体的任何XML文档如果你问这些问题,除了特殊的五个字母以外,其他的参考字母格式都不好XML处理器。)或者,如果提供了DTD,则符合XML处理器可以检索DTD,对其进行解析,并将引用视为如果DTD中没有出现格式良好的错误,则为按预期解析它。(是的,处理器可以选择任何一种据我所知,他们想要的行为。众所周知标准的好处在于有多少种可供选择。)实际上,据我所知,用户使用的XML UA执行后者检索DTD。(否则它们会立即断裂,并且我们的用户不会使用它们!)因此,我们使用;和这样,在这些UA中仍然有效。但这意味着我们必须提供带有DTD的doctype,这意味着不仅<!文档类型html>。这是主干上的默认行为——当该文档实际上是HTML5。这有一些缺点除了奇怪之外:1) 验证器将内容视为XHTML Strict,而不是HTML5,因此除非您特别要求HTML5验证,否则验证失败。我已经看到了一些对此的投诉,但我们还没有甚至还没有发布。很多人关心验证。2) XML处理器仍然有权拒绝该页面,拒绝处理DTD并将页面视为非规范页面。3) 对于处理DTD的XML处理器,我们强制它们执行一旦他们开始解析页面,网络就会加载。大概是这样减慢解析速度(不知道实际有多慢),这也会影响W3C糟糕的服务器:<http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic>另一种方法是不使用任何命名字符引用--将它们全部替换为数字。例如,使用 ;而不是;,和·而不是&bull;。然后我们可以使用<!默认情况下,DOCTYPE html>并避免这些问题。事实上,我们已经做了任何事情它通过解析器,据我所知--我们转换它到UTF-8。问题是,如果我们这样做,然后遗漏了一些实体在源代码的某个地方,一些页面会神秘地变成成形不良,工具会断裂。另外,当然,你有质量变化引起的常见破损风险。不过,总的来说,我会我宁愿这样做,因为另一种选择是我必须这样做纠缠标准人员和验证人员,寻求让我们使用XHTML Strict doctype正确验证。是否有人反对我删除所有命名实体引用从MediaWiki输出?