2009-09-29 43 views
2

我有一个看起来像这样的XML文件(diploma.xml):Firefox不读取DTD?

<?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"> 

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

+0

你可以试试diploma.dtd的绝对路径。 – 2009-09-29 02:13:34

+0

谢谢,但没有奏效。 – mpen 2009-09-29 02:16:29

回答

4

Firefox does not read external entities(除少数内部特例外)。这部分是因为它可能会像W3一样在DTD请求中泛滥,部分原因是它是潜在的跨站脚本的另一个来源,但主要是因为懒惰,因为很少有人使用Firefox作为原始XML查看器,人们再次使用老派的DTD。

+0

优秀的答案。谢谢! – mpen 2009-09-29 02:36:23