2009-09-29 41 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