如何解决XML:到未定义实体 'nbsp'的引用。
&在xml中是特殊符号, ;会出问题。解决:
1.
在xml中加入一段代码,如下:
<!DOCTYPE your_root_name [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
如果要在生成的html代码中出现 ;那么要用下面的:
用<xsl:text></xsl:text>可以保留空格,注意这里的xsl类型为text才可以,为其他的就不行了。
另外,disable-output-escaping 属性为yes时,可以禁止转义输出,即直接输出<,&等字符<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
或者<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
更多参考w3c文档http://www.w3.org/TR/html401/sgml/entities.html2.“ ”改为“&nbsp;”就可以了。
"&nbsp;"中的nbsp是non-breaking space的意思。它不是XML的内建(built-in)实体。而html 中用到它,xhtml中也有定义。它代表一个空格,而且指示浏览器不能在此处打断(breaking,其实就是不能换行)。
posted on 2010-11-16 10:23 HardChen 阅读(13522) 评论(1) 编辑 收藏 举报