如何插入

,

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

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

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


当前回答

试着使用

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

但这取决于所使用的XSLT处理器:XSLT规范不要求XSLT处理器将其转换为“&nbsp;”。

其他回答

你还可以使用:

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

你也可以这样做:

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

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

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

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

& # 160;效果很好。但是,它将显示ANSI编码中的一个奇怪字符。text>最适合我。

<xsl:text> </xsl:text>

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

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

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