引用了实体 "nbsp",但未声明

The entity "nbsp" was referenced, but not declared

我写了一个 XSLT 来将 xml 转换为 xml。

输入XML:

<test>The Spanish word for "Spain" is "Espa&nbsp;a" Dagon his Name, Sea Monster</test>

输出XML:

<test>The Spanish word for "Spain" is "Espa a" Dagon his Name, Sea Monster</test>

XSL 文件:我在 doctype 下添加了实体 nbsp 声明的代码并替换为实体,但仍然是相同的错误实体 "nbsp" 被引用,但未声明。

<xsl:template match="test">
<test>
  <xsl:apply-templates/>
</test>

您需要让输入声明它使用的实体,如 http://xsltransform.net/gVhD8QR 中所做的那样,例如

<!DOCTYPE test [
  <!ENTITY nbsp "&#160;">
]>
<test>The Spanish word for "Spain" is "Espa&nbsp;a" Dagon his Name, Sea Monster</test>

请注意,"Spain" 的西班牙语单词是 "España",因此此处使用的示例实体无论如何都没有意义。

解决方案 ...使用CDATA如下:

<test><![CDATA[ your text with &acute; &ecute; &icute; &Acute; &ntilde; ]]></test>

<test><![CDATA[The Spanish word for "Spain" is "Espa&ntilde;a" Dagon his Name, Sea Monster]]></test>

我知道回答这个问题已经晚了,但我也知道它可以帮助其他人!

提及尖音符和波浪号: https://uniwebsidad.com/libros/xhtml/capitulo-3/codificacion-de-caracteres

解决方案 ...使用CDATA如下:

<test><![CDATA[ your text with &acute; &ecute; &icute; &Acute; &ntilde; ]]></test>

<test><![CDATA[The Spanish word for "Spain" is "Espa&ntilde;a" Dagon his Name, Sea Monster]]></test>

我知道回答这个问题已经晚了,但我也知道它可以帮助其他人!

提及尖音符和波浪号: https://uniwebsidad.com/libros/xhtml/capitulo-3/codificacion-de-caracteres