繁体   English   中英

XML外部ENTITY DTD的PEReference错误

[英]PEReference error with XML external ENTITY DTD

我有此XML代码声明一个外部DTD实体:

<!DOCTYPE customers [
 <!ENTITY % itemCodes SYSTEM "codes.dtd">
 %itemCodes;
]>

这仅仅是从code.dtd调用一些预先编写的代码:

<!ENTITY DCT5Z "Tapan Digital Camera 5 Mpx - zoom">
<!ENTITY SM128 "SmartMedia 128MB Card">
<!-- etc. -->

但是我得到这个错误:

This page contains the following errors:

error on line 53 at column 8: PEReference: %itemCodes; not found

为什么会这样呢?

为什么会这样呢?

因为找不到codes.dtd文件。 如果您不使用某种基于目录的解析机制,则codes.dtd必须位于您正在运行的程序的工作目录中。

但是第53行的错误似乎很奇怪。 对于DTD而言,这太过分了。 第53行是什么样子?

更新 :经过重新考虑,问题可能不在于codes.dtd ,而是所使用的XML解析器codes.dtd外部实体。 (毕竟,它说找不到PE引用本身,而不是它的引用对象。)这是非验证解析器的一个很常见的局限性,但是错误诊断本来可以提供更大的帮助(“抱歉,外部不支持实体引用”。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM