题
什么是最好的方式,包括html实体在XSLT?
<xsl:template match="/a/node">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:template>
这一返回 XsltParseError
解决方案
你可以使用CDATA部分
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
或者你可以描述在当地DTD:
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
或只是使用  
而不是的
其他提示
它也有可能延长的做法从第2部分 aku的答案 并得到所有名字提供参考,像这样:
<!DOCTYPE stylesheet [
<!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
"http://www.w3.org/2003/entities/2007/w3centities-f.ent">
%w3centities-f;
]>
...
<xsl:text> −30°</xsl:text>
有某些差异的结果相比 <xsl:text disable-output-escaping="yes">
办法。后者是会产生字符串像
对于所有类型的输出,即使对 <xsl:output method="text">
, 和可能发生这种情况是不同的从什么你可能希望...相反,越来越实体定义为XSLT通过的模板 <!DOCTYPE ... <!ENTITY ...
总是会产生出符合你的 xsl:output
设置。
它可能是明智的,然后使用当地的实体解决程序,以保持XSLT发动机提取角色的实体的定义,从互联网上。JAXP或明确Xalan-J用户可能需要一个补丁Xalan-J使用的解决程序正确。看看我的博客 XSLT、实体、Java、Xalan... 对于补充下载和意见。
一个其他可能使用html实体内xslt是以下之一:
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
XSLT只处理的五个基本的实体默认: lt
, gt
, apos
, quot
, , amp
.所有其他人需要的定义为 @Aku 提及。
这一返回 XsltParseError
是的,原因就是这
是不是一个预先定义的实体在XML或XSLT,因为它是在HTML。
你只能使用的字符这
代表:  
现在,有Unicode,它通常会产生反作用的名字符的实体。我会推荐使用Unicode character为一个不间断的空间,而不是一个实体,只是为了这个原因。或者,可以使用的实体  
;的,而不是命名的实体。使用的命名的实体让你XML依赖于一个行内部或外部DTD。
我发现所有这些方案产生了一个字中的空白空间。
使用 <xsl:text> </xsl:text>
解决了这个问题对于我;但 <xsl:text>#x20;</xsl:text>
可能的工作。
谢谢您的信息。我已经写了一个短篇博客基于什么工作我为我所做的XSLT transformation在一个模板的 Dynamicweb CMS.
该博客是在这里: 如何添加实体XSLT模板.
/Sten Hougaard
有必要使用的实体 #x160;
我有没有运气DOCTYPE办法,从Aku.
什么工作,我可以尝试下列任将在一个Windows服务器2003年,
<xsl:text disable-output-escaping="yes">&#160;</xsl:text>
排序的混合。谢谢计算器的贡献者!
一个空间角色之间的文本标记应该是足够的。