Firefox addon 如何在一个xul中使用多个dtd文件?

Firefox addon 如何在一个xul中使用多个dtd文件?,firefox-addon,dtd,Firefox Addon,Dtd,在我的firefox插件中,我有一些!我想放入“global.dtd”文件中的实体。然后,在我的所有.xul文件中,我希望访问global.dtd以及.xul文件的特定.dtd文件 因此,对于code1.xul,我将加载code1.dtd和global.dtd。 然后,对于code2.xul,我将加载code2.dtd和global.dtd 因此,我可以保证在global.dtd中使用相同的字符串 我能做这个吗?如何编写定义? 你不能放两个doctype <!DOCTYPE overlay

在我的firefox插件中,我有一些
!我想放入“global.dtd”文件中的实体。然后,在我的所有.xul文件中,我希望访问global.dtd以及.xul文件的特定.dtd文件

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

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

我能做这个吗?如何编写定义? 你不能放两个doctype

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

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

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

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

%全球;

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

的位置。您还可以在同一个XUL文件中导入多个dtd。看起来是这样的:

<!DOCTYPE some_name [
  <!ENTITY % firstDTD SYSTEM "chrome://extension/locale/first.dtd">
  %firstDTD;
  <!ENTITY % secondDTD SYSTEM "chrome://extension/locale/pref/second.dtd">
  %secondDTD;
]>

%二次DTD;
]>

因此我必须单独导入每个实体,而无法导入整个文件?@BGM-使用参数实体,您正在导入整个文件。基本上,实体引用<代码>%全局
被替换为
global.dtd
的全部内容。天哪,就是这样!谢谢你一蒲式耳!