如何插入
,
进入XSLT样式表,我一直得到这个错误:
XML解析错误:未定义的实体
实际上,我希望XSLT模板中有一个不间断的空格字符。
如何插入
,
进入XSLT样式表,我一直得到这个错误:
XML解析错误:未定义的实体
实际上,我希望XSLT模板中有一个不间断的空格字符。
当前回答
使用实体代码 代替。
,是一个HTML“字符实体引用”。在XML中不间断空格没有命名实体,因此使用代码 。
Wikipedia包含一个XML和HTML实体列表,您可以看到XML中只有5个“预定义实体”,但HTML有200多个。我还将指出在XSL中创建一个空间( ),它有很好的答案。
其他回答
我不知道它是否有用,但我有这样的工作:
我定义了一个新的实体:
The healthy animal is up<nbsp />and<nbsp />doing.
然后我有一个新定义的模板:
<xsl:template match="nbsp" >
<xsl:text disable-output-escaping='yes'>&nbsp;</xsl:text>
</xsl:template>
解析后会得到:
"The healthy animal is up and doing"
我知道<nbsp/>几乎和 一样长,所以打字不多。
& # 160;效果很好。但是,它将显示ANSI编码中的一个奇怪字符。text>最适合我。
<xsl:text> </xsl:text>
你也可以这样做:
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
虽然@brabster和其他人已经提供了答案。 我认为更可重复使用的解决方案是:
<xsl:variable name="space"> </xsl:variable>
...
<xsl:value-of select="$space"/>
使用实体代码 代替。
,是一个HTML“字符实体引用”。在XML中不间断空格没有命名实体,因此使用代码 。
Wikipedia包含一个XML和HTML实体列表,您可以看到XML中只有5个“预定义实体”,但HTML有200多个。我还将指出在XSL中创建一个空间( ),它有很好的答案。