2

在我的 firefox 插件中,我有几个!ENTITIY要放入“global.dtd”文件的 s。然后,在我的所有 .xul 文件中,我想访问该 global.dtd 以及该 .xul 文件的特定 .dtd 文件。

因此,对于 code1.xul,我将加载 code1.dtd 和 global.dtd。然后,对于 code2.xul,我将加载 code2.dtd 和 global.dtd。

因此,我可以保证在 global.dtd 中使用相同的字符串。

我可以这样做吗?如何写定义?你不能放两个文档类型。

<!DOCTYPE overlay SYSTEM "chrome://myaddon/locale/global.dtd">
<!DOCTYPE overlay SYSTEM "chrome://myaddon/locale/code1.dtd">
4

2 回答 2

3

在要使用的任何 DTD 中使用参数实体global.dtd

例如,您可以将此添加到code1.dtdand code2.dtd

<!ENTITY % global SYSTEM "global.dtd">
%global;

您必须调整 SYSTEM 标识符以指向global.dtd.

于 2012-11-26T17:33:58.727 回答
2

您还可以在同一个 XUL 文件中导入多个 DTD。它看起来像这样:

<!DOCTYPE some_name [
  <!ENTITY % firstDTD SYSTEM "chrome://extension/locale/first.dtd">
  %firstDTD;
  <!ENTITY % secondDTD SYSTEM "chrome://extension/locale/pref/second.dtd">
  %secondDTD;
]>
于 2012-11-29T13:51:55.623 回答