我在外部DTD中使用外部实体引用时遇到一些问题
例如
[name.xml的]
<?xml version="1.0" ?>
<!DOCTYPE simple SYSTEM "simple.dtd">
<simple>
<name> &a; </name>
<age> 21 </age>
<address> bsk street </address>
</simple>
[name.dtd]
<?xml version="1.0" ?>
<!ELEMENT simple (name,age,address)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT a "abhijeet">
当我在Internet Explorer上运行此程序时,我收到错误...
答案 0 :(得分:8)
那是因为您正在使用ELEMENT声明来声明实体。
这是你的ENTITY声明应该是这样的:
<!ENTITY a "abhijeet">
此外,您的示例中有[name.dtd]
,但您的系统标识符显示simple.dtd
。确保您的系统标识符指向正确的DTD。
内部子集的示例:
<?xml version="1.0"?>
<!DOCTYPE simple SYSTEM "simple.dtd" [
<!ENTITY a "abhijeet">
]>
<simple>
<name> &a; </name>
<age> 21 </age>
<address> bsk street </address>
</simple>