2

我有一个如下所示的 XML 文件 (diploma.xml):

<?xml version="1.0" standalone="no" ?>
<!DOCTYPE Diploma SYSTEM "diploma.dtd">
<Diploma>
    &students;
    &Registrations;
    &Courses;
</Diploma>

DTD 看起来像这样:

<!ENTITY students SYSTEM "students.xml">
<!ENTITY Registrations SYSTEM "registrations.xml">
<!ENTITY Courses SYSTEM "courses.xml">

当我尝试diploma.xml在 IE8 中打开它时,它正确地包含了所有其他 XML 文件,但在 Firefox 3.5 中,我收到关于&students;未定义的语法错误。为什么是这样?

4

1 回答 1

4

Firefox根本不读取外部实体(除了少数内部特殊情况)。这部分是因为它可能会用 DTD 请求淹没像 W3 这样的站点,部分是因为它是潜在的跨站点脚本的另一个来源,但主要是由于懒惰,因为很少有人使用 Firefox 作为原始 XML 查看器,而且其中很少有人人们不再使用老式的 DTD。

于 2009-09-29T02:25:00.917 回答