我有以下非常简单的XML文件(出于此问题的目的,显着缩减了原始文件):
<?xml version="1.0"?>
<!DOCTYPE root [
<!ENTITY % entities SYSTEM "test.dtd">
%entities;
]>
<root>
</root>
文件test.dtd
已存在,但就此问题而言,该文件仍为空。
问题是oXygen XML Editor会抛出错误:
E [Xerces] Element type "root" must be declared.
如果我从上面的行中删除%entities;
行或%
符号,则不会抛出任何错误,因为oXygen实际上并未解析实体文件(因此,显然,当引入真正的实体时对它们的引用失败了)。不幸的是,我所做的研究表明,Xerces出于多种不同的原因抛出了这个错误,我无法缩小这种情况下的错误。
为什么在引入实体时会抛出此错误,即使没有实体,我该怎么办呢?
oXygen v10.3,如果这很重要(我公司只获得五年历史的软件许可:-()