以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  xslt处理html空白 的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=52925)


--  作者:frestlily
--  发布时间:9/21/2007 11:57:00 AM

--  xslt处理html空白 的问题
xslt转换成html时,对html中的空白 ,加了
<xsl:text  disable-output-escaping="yes" >&nbsp;</xsl:text>
还是不管用,浏览器还是显示&nbsp;,请问大家怎么解决?
代码如下:
<div class="tab02">
       <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
       <xsl:for-each select="list[@code='product_detail']/item">
        <xsl:value-of select="property[@code='detailcontent']/value"/>
       </xsl:for-each>
      </div>

--  作者:luypmp
--  发布时间:9/21/2007 12:32:00 PM

--  
&nbsp不是缺省的xml entity,或你在dtd中定义了&nbps才能够使用这种方式,
很多html的symbolic character references并不包含在xml中,
改用unicode 的  替换&nbsp就可以了
--  作者:luypmp
--  发布时间:9/21/2007 12:36:00 PM

--  
<xsl:for-each select="list[@code='product_detail']/item">
<xsl:value-of select="property[@code='detailcontent']/value"/>
看了楼主的一些代码,感觉很像在做一个B/S应用系统,不知是做那方面的?
--  作者:frestlily
--  发布时间:9/24/2007 3:01:00 PM

--  
luypmp:
多谢:)
--  作者:hexun831012
--  发布时间:9/25/2007 8:40:00 AM

--  
  != &nbsp; !!!
== &nbsp;
--  作者:luypmp
--  发布时间:9/25/2007 9:19:00 PM

--  
ASCII                              HTML       HTML   
Dec      Hex     Symbol        Number         Name      Description
160      A0                                              non-breaking space
32        20                         ;              space    
可以参考文档
http://www.ascii.cl/htmlcodes.htm
[此贴子已经被作者于2007-9-25 22:07:00编辑过]

--  作者:luypmp
--  发布时间:9/25/2007 9:47:00 PM

--  
同时从http://www.w3.org/TR/html4/sgml/entities.html可知
html中DTD中nbsp的预定义就是:
<!ENTITY nbsp   CDATA " " -- no-break space = non-breaking space,
                                  U+00A0 ISOnum -->



--  作者:luypmp
--  发布时间:9/25/2007 9:54:00 PM

--  
不知怎么贴图,本来想把图截下放上去,排版太累了


--  作者:hexun831012
--  发布时间:9/26/2007 8:47:00 AM

--  
32和160最大的区别在于一个是符号,一个是字符,所以放在一段文本中32可以换行,而160不会,所以怎么用还是看自己的需要
--  作者:luypmp
--  发布时间:9/26/2007 12:32:00 PM

--  
32和160最大的区别在于一个是符号,一个是字符,不太明白你的意思?
是不是 ;两个字节,只是在不同字符集下显示不同
不过还有一个大的区别就是
" "  即non-breaking space故名思意就是不换行间隔
一般HTML会给你的文本除去间隔 ,如果你在文本中有10格间隔,那么HTML就会去掉其中的9个。想添加间隔的话就得使用&nbsp; 字符。
比如这个html文件:
<html>
<body>
和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和

你讨论和你讨论和你讨 真有意思<br/>
和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和你讨论和

你讨论和你讨论和你讨        真有意思<br/>
</body>
</html>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
54.688ms