在 XHTML DOCTYPE 声明中包含文件

Including files in the XHTML DOCTYPE declaration

提问人:Mr Lister 提问时间:8/27/2015 最后编辑:CommunityMr Lister 更新时间:8/27/2015 访问量:147

问:

tl;dr:如何在XHTML文件的DOCTYPE声明中包含文件?这个答案的解决方案不起作用,在不同的浏览器中给出不同类型的错误。


加长版:
我对定义XHTML文件的字符实体感兴趣。XHTML5 的一个缺点是不能使用实体引用,例如 和 ,只能使用五个基本的 XML 引用。
 é

恢复到 XHTML 1 DOCTYPE 会起作用(因为 XHTML DTD 包含所有实体的定义),但随后验证器会抱怨文件中的所有新 XHTML5 功能。

将文件类型恢复为也可以,但那样它就不再是 XHTML!(定义新实体在 HTML 中不起作用,只能在 XHTML 中工作。text/html

因此,解决方案是主动将所有实体名称添加到 DOCTYPE 声明中。

<!DOCTYPE html
   [
      <!ENTITY nbsp   "&#160;">
      <!ENTITY eacute "&#233;">
   ]
>

这很好用!但是,以这种方式包含数百个实体不会非常有效。通过包含文件来执行此操作会好得多。
我找到了这个答案,它似乎完全符合我的需求......

<!ENTITY % xhtml-special SYSTEM "xhtml-special.ent">
%xhtml-special;

但它不起作用。如果我尝试这样做,我会得到错误:在 Chromium 中; 在 SeaMonkey 中。PEReference: %xhtml-special; not foundXML Parsing Error: undefined entity

那么有谁知道该怎么做呢?有一个工作的例子?

HTML xhtml 文档类型 html-entities

评论


答: 暂无答案