如何将转义字符声明为外部文件中的DTD实体并导入XML文件

时间:2015-07-10 14:48:00

标签: xml xslt entity dtd

在一个Web项目中,我有很多带有非转义字符的XML文件。我将这些字符声明为DTD实体,并在每个XML文件内部包含声明列表,如下所示:

!DOCTYPE article SYSTEM "../../pubmedref/archivearticle.dtd" [
   <!ENTITY bull "&#8226;">
   <!ENTITY copy "&#169;">
   ... a long list ...
]>

有什么方法可以在外部文件中包含这些声明并将其导入XML文件中?使用XSLT将XML文件呈现给浏览器。

FWIW,我已尝试引用.ent文件,但它不适用于任何浏览器。

1 个答案:

答案 0 :(得分:5)

通常你会使用参数实体......

XML文件

fitted.values.plot[fitted.values.plot$miRNAs_2 %in% negvalues,]
#       X94      miRNAs_1   miRNAs_2
#5 3.367606 hsa-let-7c-5p hsa-let-7c

实体文件(您可以拥有多个文件)

<!DOCTYPE article SYSTEM "../../pubmedref/archivearticle.dtd" [
<!ENTITY % ents SYSTEM "../../pubmedref/entities.ent">
%ents;
]>
<article>...</article>

但是,大多数浏览器都不会解析外部实体引用,因此您不得不直接在内部子集中使用实体声明(在您的doctype声明中<!ENTITY bull "&#8226;"> <!ENTITY copy "&#169;"> [之间)。