【发布时间】:2009-04-07 22:33:48
【问题描述】:
我正在使用单独的 .dtd 文件作为我的自定义 xml 文件的 doctype:
names.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE name SYSTEM "names.dtd">
<names>
<name>
<text>Pepé</text>
<creator>&lost;</creator>
<history>&lost;</history>
</name>
<name>
<text>Charles</text>
<creator>James</creator>
<history>&lost;</history>
</name>
</names>
names.dtd
<!ELEMENT name (text, creator+, history)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT creator (#PCDATA)>
<!ELEMENT history (#PCDATA)>
<!-- Placeholder/unknown history or creator name -->
<!ENTITY lost "Lost in the depths of time.">
<!ENTITY eacute "é">
但是,当尝试访问 names.xml 时,出现以下错误:
XML 解析错误:未定义的实体 地点: http://localhost/.../names.xml线 第 5 号,第 18 栏:
<text>Pepé</text>
---------^
为了澄清,names.xml 和 names.dtd 位于同一目录中,使用 http://localhost/.../names.dtd 也不起作用。
但是,当将 <!ENTITY 放入 <!DOCTYPE 中时,这似乎确实有效。有人可以就此提出建议吗?
【问题讨论】: