新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   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中script问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 24024 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XSL中script问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

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

    把<script>写在head区中,否则,在XSL中可能会出现意外。另外,最好提供XML源码,别让别人去帮你弄一个,光看XSL很麻烦的,特别是一长串。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 9:03:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客12
    发贴心情 
    Qr大哥 你好 我放在了<head>里了 还是提示 缺少对象
    你帮我看看吧?
    我的xml源文件:
    <?xml version="1.0" encoding="GB2312"?>
    <?xml-stylesheet type="text/xsl" href="style.xsl"?> 
    <idCard>
     <person>
      <name>杨萍</name>
      <gender>女</gender>
      <race>汉</race>
      <birthday>19871011</birthday>
      <address>河南省滑县半坡店乡</address>
      <id>
       <addrCode>410526</addrCode>
       <birthday>19871011</birthday>
       <seqCode>758</seqCode>
       <checkCode>3</checkCode>
      </id>
     </person>
     <person>
      <name>王小波</name>
      <gender>男</gender>
      <race>汉</race>
      <birthday>19850410</birthday>
      <address>河南省延津县小王村</address>
      <id>
       <addrCode>410726</addrCode>
       <birthday>19850410</birthday>
       <seqCode>521</seqCode>
       <checkCode>5</checkCode>
      </id>
     </person>
     <person>
      <name>李玟</name>
      <gender>女</gender>
      <race>回族</race>
      <birthday>19761023</birthday>
      <address>河南省浚县于村</address>
      <id>
       <addrCode>410621</addrCode>
       <birthday>19761023</birthday>
       <seqCode>202</seqCode>
       <checkCode>x</checkCode>
      </id>
     </person>
     <person>
      <name>张佳佳</name>
      <gender>女</gender>
      <race>东乡族</race>
      <birthday>19621103</birthday>
      <address>河南省汤阴县大马村</address>
      <id>
       <addrCode>410523</addrCode>
       <birthday>19621103</birthday>
       <seqCode>862</seqCode>
       <checkCode>5</checkCode>
      </id>
     </person>
     <person>
      <name>李小鹏</name>
      <gender>男</gender>
      <race>汉</race>
      <birthday>19700523</birthday>
      <address>河南省宝丰县李村</address>
      <id>
       <addrCode>410421</addrCode>
       <birthday>19700523</birthday>
       <seqCode>403</seqCode>
       <checkCode>5</checkCode>
      </id>
     </person>
     <person>
      <name>崔伟</name>
      <gender>男</gender>
      <race>壮族</race>
      <birthday>19560413</birthday>
      <address>河南省温县大石庄</address>
      <id>
       <addrCode>410825</addrCode>
       <birthday>19560413</birthday>
       <seqCode>851</seqCode>
       <checkCode>x</checkCode>
      </id>
     </person>
     <person>
      <name>唐小雨</name>
      <gender>女</gender>
      <race>汉</race>
      <birthday>19900529</birthday>
      <address>河南省滑县枣村</address>
      <id>
       <addrCode>410526</addrCode>
       <birthday>19900529</birthday>
       <seqCode>022</seqCode>
       <checkCode>6</checkCode>
      </id>
     </person>
     <person>
      <name>白冰</name>
      <gender>男</gender>
      <race>布依族</race>
      <birthday>19660214</birthday>
      <address>河南省清丰县大班村</address>
      <id>
       <addrCode>410922</addrCode>
       <birthday>19660214</birthday>
       <seqCode>369</seqCode>
       <checkCode>8</checkCode>
      </id>
     </person>
     <person>
      <name>周董</name>
      <gender>男</gender>
      <race>汉</race>
      <birthday>19890111</birthday>
      <address>河南省镇平县李湾村</address>
      <id>
       <addrCode>411324</addrCode>
       <birthday>19890111</birthday>
       <seqCode>101</seqCode>
       <checkCode>7</checkCode>
      </id>
     </person>
     <person>
      <name>吴小霞</name>
      <gender>女</gender>
      <race>侗族</race>
      <birthday>19771205</birthday>
      <address>河南省西华县王庄村</address>
      <id>
       <addrCode>411622</addrCode>
       <birthday>19771205</birthday>
       <seqCode>122</seqCode>
       <checkCode>4</checkCode>
      </id>
     </person>
    </idCard>

    xsl源文件:
    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="html" encoding="GB2312"/> 
    <xsl:param name="size" select="1"/>

    <xsl:template match="idCard">
    <html>
    <script>
    <![CDATA[
       function nextPage(num){
        document.getElementById("content"+num).style.display="";
        num--;
        document.getElementById("content"+num).style.display="none";
       }
       function prevPage(num){
        document.getElementById("content"+num).style.display="";
        num++;
        document.getElementById("content"+num).style.display="none";
       }
       function onInitialize(){
        var i = 1;
        document.getElementById("content"+i).style.display = "";
       }
    ]]>
    </script>
    <body onload="onInitialize()">
        <xsl:apply-templates select="person[position() mod $size = 1]">
         <xsl:with-param name="pages" select="ceiling(count(person) div $size)"/>
        </xsl:apply-templates>
       </body>
    </html>
    </xsl:template>

    <xsl:template match="person">
    <xsl:param name="pages"/>
    <xsl:variable name="page" select="position()"/>
    <table id='content{$page}' style="display:'none'" title="content{$page}">
    <xsl:for-each select="self::person | following-sibling::person[position()&lt;$size]">
         <table border="1">
            <tr>
                <th>姓名</th>
                <td><xsl:value-of select="name"/></td>
                <xsl:if test="gender='男'">
                    <td rowspan="5"><img src="imgs/a.jpg" /></td>
                </xsl:if>
                <xsl:if test="gender='女'">
                    <td rowspan="5"><img src="imgs/b.jpg"/></td>
                </xsl:if>  
            </tr>
            <tr>
                <th>性别</th>
                <td><xsl:value-of select="gender"/></td>
            </tr>
            <tr>
            <th>民族</th>
                <td><xsl:value-of select="race"/></td>
            </tr>
            <tr>
                <th>出生</th>
                <td><xsl:value-of select="birthday"/></td>
            </tr>
            <tr>
                <th>住址</th>
                <td><xsl:value-of select="address"/></td>
            </tr>
            <th>公民身份号码</th>
                <td><xsl:value-of select="id"/></td>
            </table>
        </xsl:for-each>
    <table border="1">                      
        <xsl:choose>
         <xsl:when test="$page = 1">
         <tr>
         <td> 第<xsl:value-of select="$page" />页---
         <a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>---
         共有<xsl:value-of select="$pages" />页---</td>
         </tr>
         </xsl:when>
         <xsl:when test="$page = $pages">
         <tr>
         <td>第<xsl:value-of select="$page" />页---
          <a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>---
          共有<xsl:value-of select="$pages" />页---</td>
        </tr>  
         </xsl:when>
         <xsl:otherwise>
        <tr>  
        <td>第<xsl:value-of select="$page" />页---
          <a href="#{$page - 1}" onclick="prevPage({$page - 1})">上一页</a>---
          <a href="#{$page + 1}" onclick="nextPage({$page + 1})">下一页</a>---
          共有<xsl:value-of select="$pages" />页---</td>
          </tr>
         </xsl:otherwise>
        </xsl:choose>
       </table>
    </table>
        </xsl:template>
    </xsl:stylesheet>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 16:41:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客13
    发贴心情 
    <xsl:apply-templates select="person[position() mod $size = 1]">因为这一行,所以代码根本就没法往下执行,你先好好想想,修正代码吧。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 16:53:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客14
    发贴心情 
    我发现:当我把<xsl:param name="size" select="1"/> 改为2,3之类,只要不是1就不会发生缺少对象的错误  可以运行  不过同时又有问题了:仍然不能分页,只不过是$size条记录之后会有 “上一页” “下一页” 的超链接  但整体还是一页  点链接也不管用
    ????????????
    我的世界开始
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 17:03:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客15
    发贴心情 
    那是因为<xsl:variable name="page" select="position()"/>
    当size<>1时,实际上position()大于page,而你没有注意page这个参数,让position()始终等于page,当然js去getElementById就因找不到而出错了。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 17:17:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客16
    发贴心情 
    Qr,我头都大了,你能不能帮我改改代码啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 17:47:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客17
    发贴心情 
    不好意思啊 只顾自己感受了  你也很忙
    我还是自己来吧
    但告诉我为什么连分页都分不了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/27 17:54:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客18
    发贴心情 
    太好了 终于可以分页了 呵呵  原来table嵌套会出现问题   把那个父table改成div了
    结果就好了
    Qr,你再帮我看看我那个page应该怎么设置?才能使size为1时也正确?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/28 12:03:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客19
    发贴心情 
    <xsl:apply-templates select="person[position() mod $size = 1]">
    当size = 1,以上一行就导致无显示,而size > 1,分页结果正确
    所以,你只需判断size,根据需要修改“[]”的逻辑运算即可使size为1时也正确。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/28 12:19:00
     
     zlgbsltang 美女呀,离线,快来找我吧!
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2008/8/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zlgbsltang发送一个短消息 把zlgbsltang加入好友 查看zlgbsltang的个人资料 搜索zlgbsltang在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zlgbsltang的博客20
    发贴心情 
    恩,终于好了 照着你说的 加了个choose条件 呵呵
    非常感谢Qr
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/8/28 14:12: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 14:01:09

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

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