2009-09-29 2 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"> 

Когда я пытаюсь открыть diploma.xml в IE8 это правильно включает в себя все другие файлы XML, но в Firefox 3.5 я получаю синтаксическую ошибку около &students;, которая не определена. Почему это?

+0

Вы можете попробовать безупречный путь по diploma.dtd. –

+0

Спасибо, но не сработал. – mpen

ответ

4

Firefox does not read external entities вообще (за исключением нескольких внутренних особых случаев). Это частично связано с тем, что он может наводнить сайты, такие как W3, с помощью запросов DTD, отчасти потому, что это еще один источник потенциальных межсайтовых скриптов, но в основном из-за лени, поскольку мало кто использует Firefox в качестве необработанного средства просмотра XML, и некоторые из них люди используют DTD старой школы.

+0

Отличный ответ. Благодаря! – mpen

Смежные вопросы