如何在单个xul中使用多个dtd文件?

时间:2012-11-26 15:28:46

标签: firefox-addon dtd

在我的firefox插件中,我有一些!ENTITIY我要放在" global.dtd"文件。然后,在我的所有.xul文件中,我想访问global.dtd以及.xul文件的特定.dtd文件。

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

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

我可以这样做吗?我该如何写定义? 你不能放两个doctypes。

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

2 个答案:

答案 0 :(得分:3)

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

例如,您可以将其添加到code1.dtdcode2.dtd

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

您必须调整SYSTEM标识符以指向global.dtd的位置。

答案 1 :(得分: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;
]>