以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]XSL中的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=40958)


--  作者:ccm2020
--  发布时间:12/7/2006 3:28:00 PM

--  [求助]XSL中的问题
本人想用XSL格式XML中的内容;
XML内容如下:
<pics>
<pic>
  <name>死神</name>
  <src>1.jpg</src>
</pic>
<pic>
  <name>死神</name>
  <src>1.jpg</src>
</pic>
<pic>
  <name>火影忍者</name>
  <src>1.jpg</src>
</pic>
<pic>
  <name>火影忍者</name>
  <src>1.jpg</src>
</pic>
</pics>
//////////////////////////////////
我想在XSL中显示同一图片名的图片的个数,于是用了count()这个函数;
XSL部分内容如下:
<xsl:value-of select="//name[text()='死神']"/>
XSL中的上面内容能够显示XML中的死神图片数;
//////////////////////////////////
但是我想如何把XSL中<xsl:value-of select="//name[text()='死神']"/>中的“死神”用一个变量替代,也就是说不在XSL中写入要计数图片的名称,而是让计算机把XML中所有不同图片名的数都计算一下。
也就是说,将来只要增加XML中的图片名,XSL中也会随着XML的改变而变化。

另外说一下我是在IE中显示的。
请高手指点


--  作者:hexun831012
--  发布时间:12/8/2006 12:55:00 PM

--  
用<xsl:param>定义全局变量,用$返回,用javascript修改
<xsl:param name=''image">
...
<xsl:value-of select="="//name[text()=$image]" />
...
然后利用XML DOM修改
--  作者:ccm2020
--  发布时间:12/10/2006 9:38:00 PM

--  
谢谢上面的那们,我没用<xsl:param>这个全局变量而是用了局部变量<xsl:variable>完成了。
如下:
<xsl:for-each select="Wallpapers/目录/图片">
<xsl:variable name="image"><xsl:value-of select="./名字"/></xsl:variable>
<xsl:value-of select="count(//name[text()=$image])"/><br/>
</xsl:for-each>
/////////////////////////////////
--  作者:hexun831012
--  发布时间:12/11/2006 9:34:00 AM

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