如何插入
,
进入XSLT样式表,我一直得到这个错误:
XML解析错误:未定义的实体
实际上,我希望XSLT模板中有一个不间断的空格字符。
如何插入
,
进入XSLT样式表,我一直得到这个错误:
XML解析错误:未定义的实体
实际上,我希望XSLT模板中有一个不间断的空格字符。
当前回答
使用这个
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
编辑:持反对意见的选民可能应该先验证一下这个方法是否有效(它确实有效,而且是解决问题的最普遍的方法。)
其他回答
XSLT样式表必须是格式良好的XML。因为“ ”不是五个预定义的XML实体之一,所以它不能直接包含在样式表中。 所以回到你的解决方案,“ ”是你应该使用的“ ”的完美替代品。
例子:
<xsl:value-of select="$txtFName"/> <xsl:value-of select="$txtLName"/>
你可能想在文件的开头(在xml声明下面)添加这个实体的定义:
<!DOCTYPE stylesheet [
<!ENTITY nbsp " " >
]>
此外,您还可以添加更多的实体,如Ntilde, Aacute等。
我试图在HTML表中的空单元格上显示边框。我在空单元格中使用不间断空格的老技巧在xslt中不起作用。我用换行来达到同样的效果。我提到这一点只是为了以防你试图使用非间断空格的原因是为了给一个“空”的表格单元格提供一些内容,以打开单元格边界。
<br/>
你也可以这样做:
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
虽然@brabster和其他人已经提供了答案。 我认为更可重复使用的解决方案是:
<xsl:variable name="space"> </xsl:variable>
...
<xsl:value-of select="$space"/>