新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → XSLT2.0新特性体验之一——分组的简化[原创] 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 47595 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
     * 贴子主题: XSLT2.0新特性体验之一——分组的简化[原创] 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     wzzwj 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:7
      积分:86
      门派:XML.ORG.CN
      注册:2005/1/13

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wzzwj发送一个短消息 把wzzwj加入好友 查看wzzwj的个人资料 搜索wzzwj在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wzzwj的博客楼主
    发贴心情 

    楼主的文章非常好,不过其中有几个小问题。
    一个是关于key函数的解释:
    node-set key(string, object)
    第一个参数是key名字,就是前面定义的<xsl:key的名字,object表示那个内容和key中的内容进行匹配,key('nodeA',@a)就是返回了第一个和当前节点的匹配内容相同的文档中的节点。

    实际上key会将所有与第二个参数相等的节点都返回。这在XSLT规范中也有说明。至于楼主通过实验,得出下面的结论也是错的:
    所以说明key('nodeA',@a)在处理到第三个节点<node a="a2" b="b2"/>时返回的是符合key的第一个节点,也就是<node a="a2" b="b1"/>。
    这是因为generate-id函数的作用,在XSLT规范中关于这个函数有以下说明:
    The generate-id function returns a string that uniquely identifies the node in the argument node-set that is first in document order.
    我的理解是返回节点集中的第一个节点的唯一标识符。也就是说,在处理<node a="a2"...>节点时,key函数返回了包含两个节点的列表:<node a="a2" b="b1"/>和<node a="a2" b="b2"/>,而generate-id函数取节点集中的第一个节点产生唯一标识符,然后进行比较。
    呵呵,因为有别的事,所以写的比较匆忙。不知是否表述清楚。
    为了证明我说的,给楼主提供一个模板规则,如下:
    <xsl:key name="nodeA" match="node" use="@a"/>
     <xsl:key name="nodeB" match="node" use="@b"/>
     <xsl:template match="node">
      The a:
          <xsl:copy-of select="key('nodeA',@a)"/>
     </xsl:template>
    希望楼主能多写的这样的文章,希望能多交流。如果我的理解不对,也请达人指出。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/9 18:06:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/14 15:44:10

    本主题贴数16,分页: [1] [2]

     *树形目录 (最近20个回帖) 顶端 
    主题:  XSLT2.0新特性体验之一——分组的简化[原创](3771字) - doubleG,2005年3月30日
        回复:  支持,经验是就重要的。呵呵。。。。。(36字) - cthily,2006年3月23日
        回复:  good(4字) - zkj8421,2005年11月27日
        回复:  很好很好。(10字) - kevinxu,2005年10月25日
        回复:  原来如此 group-by 是2.0提供的上次在1.0下调试怎么都不行..(58字) - 一叶千鸟,2005年8月7日
        回复:  谢谢了,希望与更多的后继内容,(30字) - lazyy,2005年7月9日
        回复:  楼主的文章非常好,不过其中有几个小问题。一个是关于key函数的解释:node-set key(..(1333字) - wzzwj,2005年7月9日
        回复:  请问楼主,知道哪几个解析器支持XSLT2.0吗?谢谢,不知道IE6.0中的MSXML3.0支持..(89字) - smxwjd,2005年7月4日
            回复:  XMLSpy 2005是支持XSLT 2.0 的[quote][b]以下是引用[i]smxwj..(198字) - admin,2005年7月5日
        回复:  XLST 多文件输出,不知道楼主有没有此类资料或代码?Thank You^_^..(63字) - smxwjd,2005年7月1日
            回复:  [quote][b]以下是引用[i]smxwjd在2005-7-1 21:14:57[/i]的发言..(226字) - Qr,2005年7月2日
        回复:  我还要看XSLT2.0其他内容望提供Thank you!(45字) - chenshijun,2005年6月24日
        回复:  不错!我还想知道一下XSL2的其他情况!!(38字) - jx27,2005年6月21日
        回复:  让admin给你 精 一下(19字) - sam,2005年4月1日
        回复:  很好很好~加油加油!!(22字) - 殷千炀,2005年3月31日
        回复:  55555~~~~~ 我写的东西总是没人看,失败啊。哪里写的不好也要提出来啊,不然都没有兴趣写了。..(127字) - doubleG,2005年3月31日

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