2 Stimmen

Liest Firefox die DTD nicht?

Ich habe eine XML-Datei (diploma.xml), die wie folgt aussieht:

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

Und die DTD sieht so aus:

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

Wenn ich versuche, die diploma.xml im IE8 schließt es alle anderen XML-Dateien korrekt ein, aber in Firefox 3.5 erhalte ich einen Syntaxfehler über &students; nicht definiert werden. Warum ist das so?

4voto

bobince Punkte 512550

Firefox liest keine externen Entitäten überhaupt nicht (außer in einigen internen Sonderfällen). Das liegt zum Teil daran, dass es wahrscheinlich zu einer Überflutung von Websites wie W3 mit DTD-Anfragen führen würde, zum Teil daran, dass es eine weitere Quelle für potenzielles Cross-Site-Scripting ist, aber hauptsächlich aus Faulheit, weil nur wenige Leute Firefox als rohen XML-Viewer benutzen und nur wenige von diesen Leuten DTDs der alten Schule mehr verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X