如何插入

,

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

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

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


当前回答

你还可以使用:

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

其他回答

使用实体代码&#160;代替。

,是一个HTML“字符实体引用”。在XML中不间断空格没有命名实体,因此使用代码&#160;。

Wikipedia包含一个XML和HTML实体列表,您可以看到XML中只有5个“预定义实体”,但HTML有200多个。我还将指出在XSL中创建一个空间(&nbsp;),它有很好的答案。

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

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

当你使用以下语句时(没有disable-output-escaping!),你会得到一个不间断的空格:

< xsl: text > & # 160; < / xsl: text >

XSLT样式表必须是格式良好的XML。因为“&nbsp;”不是五个预定义的XML实体之一,所以它不能直接包含在样式表中。 所以回到你的解决方案,“&#160;”是你应该使用的“&nbsp;”的完美替代品。

例子:

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

使用这个

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

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