以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  请教一个xls循环嵌套的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=76053)


--  作者:wienne
--  发布时间:7/17/2009 9:09:00 AM

--  请教一个xls循环嵌套的问题
我遇到一个奇怪的问题,在我实际的程序环境里有问题
以下内容为程序代码:

<xsl:for-each select="$loc/strs/classes/str">
  <h3><xsl:value-of select="name" /></h3>
  <h4>
  <xsl:for-each select="/page/number/str">
   <xsl:value-of select="c" />,
  </xsl:for-each>
 </h4>
</xsl:for-each>
<xsl:for-each select="/page/number/str">
 <xsl:value-of select="c" />,
</xsl:for-each>

这段代码里 <xsl:for-each select="/page/number/str">
不能输出任何数据,包括那个逗号都不出来

但在循环外面的相同的代码就能输出数据

$loc实际引用的是一个外部文件,所以外层循环就相当是
另一个文件里的/strs/classes/str。尽管如此其数据取值是正常的

而/page/number/str/就是当前xml文件里的节点

相同结构,相同文件使用方式我做的另一个测试,这样用却都是正常的

有经验的朋友能指点一下吗?

以下是我做测试的代码,工作正常。
[code]
t1.xml

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="t.xsl" ?>
<test>
 <users>
  <user>
   <sex>1</sex>
   <name>tom</name>
  </user>
  <user>
   <sex>2</sex>
   <name>jack</name>
  </user>
 </users>
</test>

t2.xml
<?xml version="1.0" encoding="utf-8" ?>
<test>
 <lang>
 <sex>
  <t>
   <id>1</id>
   <name>man</name>
  </t>
  <t>
   <id>2</id>
   <name>woman</name>
  </t>
 </sex>
 </lang>
</test>

t.xsl
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="loc" select="document('t2.xml')" />
<xsl:template match="/">
<xsl:for-each select="/test/users/user">
<xsl:variable name="s" select="sex" />
<div><xsl:value-of select="name" />:</div>
<xsl:for-each select="$loc/test/lang/sex/t[id=$s]">
  <xsl:value-of select="name" />
  <br/>
</xsl:for-each>
</xsl:for-each>


</xsl:template>
</xsl:stylesheet>
[/code]



--  作者:hexun831012
--  发布时间:7/17/2009 10:06:00 PM

--  
请用模版,看本版其他贴,有相同问题
--  作者:wienne
--  发布时间:7/18/2009 9:47:00 AM

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