如何插入

,

进入XSLT样式表,我一直得到这个错误:

XML解析错误:未定义的实体

实际上,我希望XSLT模板中有一个不间断的空格字符。


当前回答

使用这个

<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;

编辑:持反对意见的选民可能应该先验证一下这个方法是否有效(它确实有效,而且是解决问题的最普遍的方法。)

其他回答

你可能想在文件的开头(在xml声明下面)添加这个实体的定义:

<!DOCTYPE stylesheet [
<!ENTITY nbsp  "&#160;" >
]>

此外,您还可以添加更多的实体,如Ntilde, Aacute等。

你还可以使用:

<xsl:value-of select="&#160;"/>

虽然@brabster和其他人已经提供了答案。 我认为更可重复使用的解决方案是:

<xsl:variable name="space">&#160;</xsl:variable>
...
<xsl:value-of select="$space"/>

你也可以这样做:

<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>

使用这个

<xsl:text disable-output-escaping="yes">&amp;</xsl:text>nbsp;

编辑:持反对意见的选民可能应该先验证一下这个方法是否有效(它确实有效,而且是解决问题的最普遍的方法。)