以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [讨论]一个小问题,但是却无法调试成功?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=66673)


--  作者:lylyjiejie
--  发布时间:9/1/2008 4:59:00 PM

--  [讨论]一个小问题,但是却无法调试成功?
[color=#FF0000]xml文件:
<aaa>
   <ddd>
       <bbb/>
       <aaa/>
       <ddd/>
       <eee/>
   </ddd>
</aaa>

xsl文件:
<xsl:template match="aaa">
     <xsl:apply-templates select="ddd"/>
</xsl:template>
 
<xsl:template match="ddd">
     <xsl:call-template name="temp">
            <xsl:with-param name="nodeSet" select="."/>
     </xsl:call-template>
</xsl:template>
 
<xsl:template name="temp">
     <xsl:param name="nodeSet"/>
     <xsl:value-of select="$nodeSet/*/name()"/>
</xsl:template>

各位看看,我的代码是否有问题,参数存为一个节点集,传入模板后取改参数保存节点集的所有子节点的名称。xslt1.0调试不通过,xslt2.0调试通过。为什么?另外我在VS2005下调试怎么也通不过,郁闷啊。。。不知为什么??[/color]


--  作者:Qr
--  发布时间:9/1/2008 6:12:00 PM

--  
<xsl:value-of select="name($nodeSet/*)"/>
--  作者:lylyjiejie
--  发布时间:9/2/2008 9:30:00 AM

--  
谢谢Qr,但是测试不能通过
name(nodeSet),只能返回nodeSet中的第一个节点,在这个xml例子中只能返回bbb,而我需要返回的值是nodeSet中所有子节点的名称:bbb、aaa、ddd、eee
而且为什么vc2005调试xslt时不支持xpath函数:index-of()、subsequence()

--  作者:lylyjiejie
--  发布时间:9/2/2008 9:31:00 AM

--  
是vs2005,写错了,不好意思
--  作者:Qr
--  发布时间:9/2/2008 9:44:00 AM

--  
以下是引用lylyjiejie在2008-9-2 9:30:00的发言:
谢谢Qr,但是测试不能通过
name(nodeSet),只能返回nodeSet中的第一个节点,在这个xml例子中只能返回bbb,而我需要返回的值是nodeSet中所有子节点的名称:bbb、aaa、ddd、eee
而且为什么vc2005调试xslt时不支持xpath函数:index-of()、subsequence()



nodeSet是个节点集,如果你没有遍历它,当然不可能得到其下所有子节点
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms