如何解决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代码中出现&nbsp;那么要用下面的:

用<xsl:text></xsl:text>可以保留空格,注意这里的xsl类型为text才可以,为其他的就不行了。

另外,disable-output-escaping 属性为yes时,可以禁止转义输出,即直接输出<,&等字符<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

 或者<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;&nbsp;]]></xsl:text>

更多参考 w3c文档 http://www.w3.org/TR/html401/sgml/entities.html

 2.“&nbsp;”改为“&amp;nbsp;”就可以了。

"&amp;nbsp;"中的nbsp是non-breaking space的意思。它不是XML的内建(built-in)实体。而html 中用到它,xhtml中也有定义。它代表一个空格,而且指示浏览器不能在此处打断(breaking,其实就是不能换行)。

 


转载于:https://www.cnblogs.com/HardChen/archive/2010/11/16/1878254.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值