xsltproc 给出错误 xmlAddEntity:预定义实体的无效重新声明

问题描述 投票:0回答:1

一段时间以来,运行 xsltproc (libxml 20913、libxslt 10134 和 libexslt 820)给了我一个以前没有的错误:

错误:xmlAddEntity:预定义实体的重新声明无效

它不仅仅是一个错误,它的行为就像一个警告,因为xsltproc处理器继续编译并产生正确的输出。

我想摆脱这个警告或错误,但问题是我有一定数量的文件,其中声明了许多实体,不仅在 XML 文件中,而且在 XSL 样式表中,并且错误消息没有提及发生重新声明的文件以及重新声明哪个实体。

删除随机实体除了破坏我的代码之外,有时但并不总是会导致不少错误消息。

我无法使用 MWE 重现此错误(我尝试构建的 MWE 没有给出错误),并且当前完整代码(XSL 和 XML)有 30K 行。

任何指向解决方案的指针将不胜感激。

xml xslt xslt-1.0
1个回答
0
投票

问题出在 XSL 文件中,无需声明 amp ('&') 和 lt ('<').

删除所有包含

的行
<!ENTITY amp "&#x0026;">

<!ENTITY lt "&#x003C;">

从 XSL 样式表中将抑制错误。这些已经默认声明了。

© www.soinside.com 2019 - 2024. All rights reserved.