bra*_*ter 329
请改用实体代码 
.
是HTML"字符实体引用".XML中没有非破坏空间的命名实体,因此您使用代码 
.
维基百科包括XML和HTML实体的名单,你可以看到有在XML仅5"预定义的实体",但HTML已经超过200我还会点到创建一个空间( )在XSL其中有优秀的答案.
小智 36
 
工作得很好.但是,它将以ANSI编码显示其中一个奇怪的字符.<xsl:text>
最适合我.
<xsl:text> </xsl:text>
Run Code Online (Sandbox Code Playgroud)
小智 25
人们也可以这样做:
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
Run Code Online (Sandbox Code Playgroud)
jag*_*eep 21
用这个
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
Run Code Online (Sandbox Code Playgroud)
编辑:Downvoters应该首先验证这是否有效(确实如此,并且是解决问题的最常用方法.)
vic*_*ugo 14
您可能希望在文件的开头添加此实体的定义(在xml声明下面):
<!DOCTYPE stylesheet [
<!ENTITY nbsp " " >
]>
Run Code Online (Sandbox Code Playgroud)
您还可以添加更多实体,例如Ntilde,Aacute等.
除了victor hugo的答案之外,还可以在XSLT文件中使所有已知的字符引用合法,如下所示:
<!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>& –</xsl:text>
Run Code Online (Sandbox Code Playgroud)
与<xsl:text disable-output-escaping="yes">
一种方法相比,该方法的结果也存在一定的差异.后者将产生类似于
各种输出的字符串文字,即使是<xsl:output method="text">
,这可能恰好与您希望的不同...相反,获取为XSLT模板定义的实体<!DOCTYPE ... <!ENTITY ...
将始终产生与你的xsl:output
设置.
当包含所有字符引用时,使用本地实体解析器来保持XSLT引擎不从Internet获取字符实体定义可能是明智的.JAXP或显式Xalan-J用户可能需要Xalan-J的补丁才能正确使用解析器.请参阅我的博客XSLT,实体,Java,Xalan ......以获取补丁下载和评论.
归档时间: |
|
查看次数: |
187575 次 |
最近记录: |