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.xmlIE8 で開こうとすると、他のすべての XML ファイルが適切に含まれますが、Firefox 3.5 では、&students;定義されていないという構文エラーが発生します。どうしてこれなの?

4

1 に答える 1

4

Firefoxは外部エンティティをまったく読み取りません (いくつかの内部の特殊なケースを除いて)。これは、W3 のようなサイトが DTD 要求でフラッディングされる可能性が高いため、クロスサイト スクリプティングの可能性の別の原因となる可能性があるためですが、主に怠惰によるものです。人々はもはや昔ながらの DTD を使用しています。

于 2009-09-29T02:25:00.917 に答える