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

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 全世界最好的XSL分页 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 41574 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 全世界最好的XSL分页 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

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

    全世界最好的XSL分页是用XPath,而不是隐藏
    本文以RSS为例
    <?xml version="1.0" encoding="utf-8"?>
    <!--Copyright(C) 2003-2007 Hexsoft.org, All Right Reserved.-->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output omit-xml-declaration="yes"/>
     <!--Declare Current Page-->
     <xsl:param name="current">1</xsl:param>
     <!--Declare Page Size-->
     <xsl:param name="page">10</xsl:param>
     <!--HTML Template-->
     <xsl:template match="/">
      <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
        <title>XSL Paging</title>
        <style type="text/css">*{font-family:Tahoma;font-size:9pt}a{padding:1px}div{text-indent:12px}</style>
        <script type="text/javascript">function paging(page){var xmlDocument=document.XMLDocument;var xslDocument=document.XSLDocument;xslDocument.selectNodes("xsl:stylesheet/xsl:template[@match='/']").removeAll();xslDocument.selectSingleNode("xsl:stylesheet/xsl:param[@name='current']").text=page;document.body.innerHTML=xmlDocument.transformNode(xslDocument);}</script>
       </head>
       <body>
        <xsl:apply-templates/>
       </body>
      </html>
     </xsl:template>
     <!--RSS Template-->
     <xsl:template match="rss">
      <xsl:apply-templates select="channel[position() &gt;= ($current - 1) * $page and position() &lt;= $current * $page]"/>
      <xsl:call-template name="page"/>
     </xsl:template>
     <!--Channel Template-->
     <xsl:template match="channel">
      <a href="{link}">
       <xsl:value-of select="title"/>
      </a>
      <div>
       <xsl:value-of select="description"/>
      </div>
     </xsl:template>
     <!--Page Template-->
     <xsl:template name="page">
      <xsl:for-each select="channel[position() mod $page = 1]">
       <a href="javascript:paging({position()})">
        <xsl:value-of select="position()"/>
       </a>
      </xsl:for-each>
     </xsl:template>
    </xsl:stylesheet>

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/17 14:39:00
     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hexun831012发送一个短消息 把hexun831012加入好友 查看hexun831012的个人资料 搜索hexun831012在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hexun831012的博客2
    发贴心情 
    申请精华
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/17 14:42:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客3
    发贴心情 
    有点看头,改天慢慢烟酒!

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/17 17:48:00
     
     lit0302 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:9
      积分:97
      门派:XML.ORG.CN
      注册:2007/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lit0302发送一个短消息 把lit0302加入好友 查看lit0302的个人资料 搜索lit0302在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lit0302的博客4
    发贴心情 hehe
    大哥,我怎么function paging(page)功能没实现啊,就是没实现翻页的功能啊,我用的是其他xml的。
    路人甲乙丙
    上海 恩雅
    离骚
    屈原
    国殇
    屈原
    偶然与必然
    刘柳
    1 2 3
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/20 21:46:00
     
     lit0302 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:9
      积分:97
      门派:XML.ORG.CN
      注册:2007/4/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lit0302发送一个短消息 把lit0302加入好友 查看lit0302的个人资料 搜索lit0302在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lit0302的博客5
    发贴心情 有消息回复我
    我的邮箱lit0302@126.com,有答案回我啊。
    能不能实现说声,谢谢
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/20 21:48:00
     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hexun831012发送一个短消息 把hexun831012加入好友 查看hexun831012的个人资料 搜索hexun831012在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hexun831012的博客6
    发贴心情 
    本文只适用于RSS,要是其他格式xml,当然要改改了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/21 9:33:00
     
     hexun831012 帅哥哟,离线,有人找我吗?天秤座1983-10-12
      
      
      威望:1
      等级:研二(Pi-Calculus看得一头雾水)(版主)
      文章:800
      积分:5114
      门派:XML.ORG.CN
      注册:2006/12/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hexun831012发送一个短消息 把hexun831012加入好友 查看hexun831012的个人资料 搜索hexun831012在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hexun831012的博客7
    发贴心情 
    重法全世界最好的分页,支持firefox啦!!!
    <?xml version="1.0" encoding="utf-8"?>
    <!--Copyright&copy; 2003-2007 Hexsoft.org, All Right Reserved.-->
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="html" indent="no" omit-xml-declaration="yes" />
     <!--Declare Current Page-->
     <xsl:param name="page">1</xsl:param>
     <!--HTML Template-->
     <xsl:template match="/">
      <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
        <title>
         <xsl:value-of select="comment()" />
        </title>
        <style type="text/css">
    body
    {
     font-family: Tahoma;
     font-size: 9pt;
    }
    a
    {
     padding-right: 1px;
    }
    b
    {
     padding-right: 1px;
    }
    p
    {
     margin: 0px 0px 0px 16px;
    }
        </style>
        <script type="text/javascript">
    function loadXml(xmlSource)
    {
     var xmlDocument = document.implementation.createDocument("", "", null);
     xmlDocument.async = false;
     xmlDocument.load(xmlSource);
     return xmlDocument;
    }
    function loadXsl(xmlDocument)
    {
     var xslDocument = new XSLTProcessor();
     xslDocument.importStylesheet(xmlDocument);
     return xslDocument;
    }
    function paging(page)
    {
     if(window.ActiveXObject)
     {
      var xmlDocument = document.XMLDocument;
      var xslDocument = document.XSLDocument;
      xslDocument.getElementsByTagName("xsl:param")[0].text = page;
      var template = xslDocument.getElementsByTagName("xsl:template")[0];
      if(template.attributes[0].value == "/")
      {
       template.parentNode.removeChild(template);
      }
      document.getElementById("rss").parentNode.innerHTML = xmlDocument.transformNode(xslDocument);
     }
     else
     {
      var xmlDocument = loadXml(window.location);
      var xslDocument = loadXml("page.xsl");
      xslDocument.getElementsByTagName("param")[0].textContent = page;
      xslDocument.documentElement.removeChild(xslDocument.getElementsByTagName("template")[0]);
      var rss = document.getElementById("rss");
      rss.parentNode.replaceChild(loadXsl(xslDocument).transformToFragment(xmlDocument, document), rss);
     }
    }
        </script>
       </head>
       <body>
        <xsl:apply-templates />
       </body>
      </html>
     </xsl:template>
     <!--RSS Template-->
     <xsl:template match="rss">
      <div id="rss">
       <xsl:apply-templates select="channel[position() &gt;= 10 * ($page - 1) and position() &lt;= 10 * $page]" />
       <xsl:apply-templates select="channel[position() mod 10 = 1]" mode="page" />
      </div>
     </xsl:template>
     <!--Channel Template-->
     <xsl:template match="channel">
      <a href="{link}">
       <xsl:value-of select="title" />
      </a>
      <p>
       <xsl:value-of select="description" />
      </p>
     </xsl:template>
     <!--Page Template-->
     <xsl:template match="channel" mode="page">
      <xsl:choose>
       <xsl:when test="position() != $page">
        <a href="javascript:paging({position()})">
         <xsl:value-of select="position()" />
        </a>
       </xsl:when>
       <xsl:otherwise>
        <b>
         <xsl:value-of select="position()" />
        </b>
       </xsl:otherwise>
      </xsl:choose>
     </xsl:template>
    </xsl:stylesheet>
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/4/25 17:07:00
     
     lovesky20008 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:75
      门派:XML.ORG.CN
      注册:2007/5/19

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lovesky20008发送一个短消息 把lovesky20008加入好友 查看lovesky20008的个人资料 搜索lovesky20008在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lovesky20008的博客8
    发贴心情 
    ding
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/25 22:28:00
     
     wlpx 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:16
      积分:125
      门派:XML.ORG.CN
      注册:2007/5/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wlpx发送一个短消息 把wlpx加入好友 查看wlpx的个人资料 搜索wlpx在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wlpx的博客9
    发贴心情 顶!我能看出来是好东西,但还有点看不明白。
    楼主,你发的这是XSL文件中的内容吧,但XML呢?或者说是咱自己编辑的XML文件,如何挂到这上面啊。

    我问是的如何把同一目录的,想“翻译的”XML的各个标签,对应到这个XSL文件中啊?

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/27 11:08:00
     
     wlpx 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:16
      积分:125
      门派:XML.ORG.CN
      注册:2007/5/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wlpx发送一个短消息 把wlpx加入好友 查看wlpx的个人资料 搜索wlpx在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wlpx的博客10
    发贴心情 
    我的做法是,在Dreamweaver8 中新建了一个XSL整页,然后用你发出来的命令复盖所有他自动生成的命令,只是把utf-8改成了gb2312。然后自己编一个XSL文件,并绑定了上去。可是浏览的时候没有分页啊,我做了16组,这16组的所有内容都按顺序显示了出来。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/27 11:32: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/12 2:40:06

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

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms