以文本方式查看主题

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


--  作者:yeriwei
--  发布时间:12/9/2004 10:47:00 AM

--  [求助]<xsl:for-each嵌套问题...
XML--文件:
<doc>
  <user>
    <abc><a>aaa</a><b>bbbbbbb</b><c>ccccccc></c></abc>
    <abc><a>111</a><b>222222222</b><c>3333</c></abc>
  </user>
  <list>
     <item><name>aaa</name>...</item>
      <item><name>111</name>...</item>
  </list>
</doc>
XSL-文件:
  <xsl:for-each select="/doc/list/item">
      ....
      <xsl:for-each select="/doc/user/abc">
                <xsl:value-of select="/doc/list/item/name"/>
                <!--在这里取得name的值总是aaa-->应该是外层循环的当前值...
                 怎样取得循环的当前值...-->
      </xsl:for-each>
  </xsl:for-each>
--  作者:doubleG
--  发布时间:12/9/2004 2:41:00 PM

--  
>> <xsl:for-each select="/doc/user/abc">
>>     <xsl:value-of select="/doc/list/item/name"/>!!!!!!!!!!这样只能取到一个
>>                <!--在这里取得name的值总是aaa-->应该是外层循环的当前值...
>>                 怎样取得循环的当前值...-->
>>      </xsl:for-each>
你这样当然只能取第一个了,你是想怎样取呢? 是全取还是按对应关系取?

--  作者:yeriwei
--  发布时间:12/9/2004 5:17:00 PM

--  
<xsl:for-each select="/doc/list/item">
      ....
      <xsl:for-each select="/doc/user/abc">
                <xsl:value-of select="/doc/list/item/name"/>
                <!--在这里取得name的值总是aaa-->应该是外层循环的当前值...
                 怎样取得循环的当前值...-->
      </xsl:for-each>
  </xsl:for-each<xsl:for-each select="/doc/list/item">
      ....
      <xsl:for-each select="/doc/user/abc">
                <xsl:value-of select="/doc/list/item/name"/>
                <!--在这里取得name的值总是aaa-->应该是外层循环的当前值...
      </xsl:for-each>
  </xsl:for-each>
我是想当/doc/list/item/name=/doc/user/abc时输出/doc/user的内容....
是取得name当前循环的值....
--  作者:doubleG
--  发布时间:12/10/2004 11:38:00 AM

--  
对不起,请把你的详细要求和完整的XML附上,然后写上需要的效果这样才能清晰知道干什么。
--  作者:Forlan
--  发布时间:12/10/2004 1:01:00 PM

--  
加个变量
<xsl:for-each select="/doc/list/item">
     <xsl:variable name="Aname" select="./name"/>
      ....
      <xsl:for-each select="/doc/user/abc">
                <xsl:value-of select="$Aname"/>
      </xsl:for-each>
  </xsl:for-each>
--  作者:yeriwei
--  发布时间:12/10/2004 5:47:00 PM

--  
不是说变量变义了以后不能改变吗???
为什么这里重新赋值还可以...

唉!!!,多谢各位了.


--  作者:wxb_nudt
--  发布时间:12/11/2004 7:42:00 PM

--  
一直没有看懂你要干什么。
--  作者:Forlan
--  发布时间:12/16/2004 6:20:00 PM

--  
如果不能变的话,还叫变量吗?
要改变的话一定要通过select来赋值.
--  作者:yeriwei
--  发布时间:12/17/2004 1:26:00 PM

--  
以下是引用wxb_nudt在2004-12-11 19:42:14的发言:
一直没有看懂你要干什么。

呵.论坛里的用户数据和贴子数据.贴子中旁边的用户信息就是那上面部分.
需要这样实现.这里是因为重新Select出来的.所以能重新赋值...,谢了.


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