一段时间以来,运行 xsltproc (libxml 20913、libxslt 10134 和 libexslt 820)给了我一个以前没有的错误:
错误:xmlAddEntity:预定义实体的重新声明无效
它不仅仅是一个错误,它的行为就像一个警告,因为xsltproc处理器继续编译并产生正确的输出。
我想摆脱这个警告或错误,但问题是我有一定数量的文件,其中声明了许多实体,不仅在 XML 文件中,而且在 XSL 样式表中,并且错误消息没有提及发生重新声明的文件以及重新声明哪个实体。
删除随机实体除了破坏我的代码之外,有时但并不总是会导致不少错误消息。
我无法使用 MWE 重现此错误(我尝试构建的 MWE 没有给出错误),并且当前完整代码(XSL 和 XML)有 30K 行。
任何指向解决方案的指针将不胜感激。
问题出在 XSL 文件中,无需声明 amp ('&') 和 lt ('<').
删除所有包含
的行<!ENTITY amp "&">
或
<!ENTITY lt "<">
从 XSL 样式表中将抑制错误。这些已经默认声明了。