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

    >> 本版讨论DOM, SAX, XPath等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → 请大家看看这个DOM的问题,怎么回事呢?急! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4081 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 请大家看看这个DOM的问题,怎么回事呢?急! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     yahuu 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:61
      门派:XML.ORG.CN
      注册:2007/1/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yahuu发送一个短消息 把yahuu加入好友 查看yahuu的个人资料 搜索yahuu在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yahuu的博客楼主
    发贴心情 请大家看看这个DOM的问题,怎么回事呢?急!

    我用ASP文件通过查询数据库,动态生成了一个XML文件,然后想用XSLT做一个分页的且固定大小的表格,就是说让这个表格每页固定显示14条数据,末页如果数据不足14条,就显示空白行补足14条。
    但是现在我也不知道为什么,我在IE浏览器中查看该页的时候,总是显示如下错误:

    无法显示 XML 页。
    使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
    --------------------------------------------------------------------------------
    Microsoft JScript 运行时错误 'document' 未定义行 = 4, 列 = 4 (行是指距脚本块起始的偏移量)。属性或方法调用返回错误。

    我的XSL文件代码如下:
    <?xml version="1.0"  encoding="gb2312" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="urn:huanglei" exclude-result-prefixes="msxsl user">
       <msxsl:script  implements-prefix="user"><![CDATA[
        var page,sortField,valField,count;
        page=1;
        sortField = document.XSLDocument.SelectSingleNode("//xsl:for-each/@select");
        valField= document.XSLDocument.SelectSingleNode("//xsl:variable/@select");
        count= document.XMLDocument.selectNodes("//辅助材料").length;
         function divide(a,b)
           {
             var e,f;
             if(a%b==0)
            {    
             e=parseInt(a/b);
             return e;
            }
             else
            {
             e=parseInt(a/b);
             f=e+1;
             return f;
             }
           }
        var  pageall=divide(count,14);
        s.innerHTML=pageall;
        t.innerHTML=page;
        
          function order(field)
          {
            field1=field+14;
            sortField.value="/型号/产品/*/辅助材料[(position()&ge;"+field+")$and$(position()&lt;"+field1+")]";
            valField.value="count(/型号/产品/*/辅助材料[(position()&ge;"+field+")$and$(position()&lt;"+field1+")])";
            str=source.documentElement.transformNode(stylesheet);
            listing.innerHTML=str;
            s.innerHTML=pageall;
            t.innerHTML=page;
           }
           
           function ss()
           {
             page++;
             if(page>pageall)
             {
             page=pageall;
             alert('这已经是最后一页了!');
             }
            order((page-1)*14);
           }
           
           function tt()
           {
            page--;
            if(page==0)
            {
             page=1;
             alert('这已经是第一页了!');
             }
             order((page-1)*14);
           }
           ]]>
       </msxsl:script>
    <xsl:template match="/">
      <html>
       <head>
         <title>装配工艺卡片</title>
       </head>
       <body background="bg.jpg">
       
       <table border="0" width="1239">
         <tr>
           <td align="center" width="309"><a href="zong.asp">返回首页</a></td>
           <td align="center" width="310"><a href="gygc.asp">装配工艺规程</a></td>
           <td align="center" width="310"><a href="gzgj.asp">总装仪器设备配套明细表</a></td>
           <td align="center" width="310"><a href="zsj.asp">总装直属件配套明细表</a></td>
      </tr>
        </table>
       <br></br>
       
       <div align="center" id="listing">
       <xsl:apply-templates select="型号"/>
       </div>
       
       <div align="center">
        <table>
          <tr align="center">
            <td>当前:
              <span id="t"></span>/
              <span id="s"></span>
            </td>
         <td width="100">
          <input type="button" onclick="user:ss()" value="下一页" > </input>
         </td>
         <td width="100">
           <input type="button" onclick="user:tt()" value="上一页" > </input>
         </td>
          </tr>
        </table>
       </div>
      </body>
      </html>
    </xsl:template>

    <xsl:template match="型号">
      <table bgcolor="#F0FFF0">
        <tr>
       <td align="center" colspan="10"><b><font size="5">五院总装与环境工程部辅助材料定额明细表<br></br></font></b></td>
        </tr>
        <tr>
       <td width="125" align="right">型号名称:</td>
       <td width="125"><xsl:value-of select="/型号/@型号名称"/></td>
       <td width="125" align="right">型号代号:</td>
       <td width="125"><xsl:value-of select="/型号/@型号代号"/></td>
       <td width="125" align="right">阶段标记:</td>
       <td width="114"><xsl:value-of select="/型号/@阶段标记"/></td>
       <td width="125" align="right">产品名称:</td>
       <td width="125"><xsl:value-of select="/型号/产品/@产品名称"/></td>
       <td width="125" align="right">产品代号:</td>
       <td width="125"><xsl:value-of select="/型号/产品/@产品代号"/></td>
        </tr>
       </table>
       <table border="1" bgcolor="#F0FFF0">
        <tr>
       <td width="50" rowspan="2" align="center">序号</td>
       <td width="150" rowspan="2" align="center">名称</td>
       <td width="150" rowspan="2" align="center">牌号状态</td>
       <td width="150" rowspan="2" align="center">技术条件</td>
       <td width="150" rowspan="2" align="center">规格</td>
       <td width="50" rowspan="2" align="center">数量</td>
       <td width="70" rowspan="2" align="center">单位</td>
       <td colspan="3" align="center" height="30">对料记录</td>
       <td width="139" rowspan="2" align="center">备注</td>
        </tr>
        <tr>
       <td width="80" height="30" align="center">有/无</td>
       <td width="130" height="30" align="center">合格证</td>
       <td width="130" height="30" align="center">代料处理单号</td>
        </tr>
    <xsl:for-each select="/型号/产品/*/辅助材料[position()&lt;14]">
       <tr>
      <td height="30" align="center"><xsl:value-of select="@辅助材料序号"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料名称"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料牌号"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料技术条件"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料规格"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料数量"/></td>
      <td height="30" align="center"><xsl:value-of select="@辅助材料单位"/></td>
         <td height="30" align="center"><xsl:value-of select="辅助材料对料记录/@辅助材料对料记录标记"/></td>
         <td height="30" align="center"><xsl:value-of select="辅助材料对料记录/@辅助材料对料记录合格证"/></td>
         <td height="30" align="center"><xsl:value-of select="辅助材料对料记录/@辅助材料对料记录代料处理单号"/></td>
         <td height="30" align="center"><xsl:value-of select="@辅助材料备注"/></td>
       </tr>
        </xsl:for-each>
        
        <xsl:variable name="aa" select="count(/型号/产品/*/辅助材料[position()&lt;14])"/>
        <xsl:variable name="bb" select="14-$aa"/>
        <div id="dd" >
        <xsl:value-of select="$bb+1" />
        </div>
        <xsl:text>fgff</xsl:text>
        
        <xsl:call-template name="foreach">    
          <xsl:with-param name="i">1</xsl:with-param>
          <xsl:with-param name="val">
          <html>
          <table>
          <tr>
      <td height="30" align="center">我</td>
      <td height="30" align="center">爱</td>
      <td height="30" align="center">我</td>
      <td height="30" align="center">的</td>
      <td height="30" align="center">老</td>
      <td height="30" align="center">婆</td>
      <td height="30" align="center">孙</td>
             <td height="30" align="center">天</td>
             <td height="30" align="center">博</td>
             <td height="30" align="center">同</td>
             <td height="30" align="center">志</td>
            </tr>
            </table>
            </html>
          </xsl:with-param>
          <xsl:with-param name="intend"><xsl:value-of select="$bb+1"/></xsl:with-param>
        </xsl:call-template>   
    </table>
    </xsl:template>

    <xsl:template name="foreach">
        <xsl:param name="i">1</xsl:param>
        <xsl:param name="val"></xsl:param>
        <xsl:param name="intend">1</xsl:param>
        
        <xsl:if test="$i &lt; $intend">
        <xsl:value-of select="$val" />
        <xsl:call-template name="foreach">
        <xsl:with-param name="i"><xsl:value-of select="$i+1" /></xsl:with-param>
        <xsl:with-param name="val"><xsl:value-of select="$val" /></xsl:with-param>
        <xsl:with-param name="intend"><xsl:value-of select="$intend"/></xsl:with-param>
        </xsl:call-template>
        </xsl:if>
    </xsl:template>

    </xsl:stylesheet>

    大家帮我看看是什么问题吧!谢谢啦!


       收藏   分享  
    顶(0)
      




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

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 DOM/SAX/XPath 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    把XML贴出来才能确定原因。

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

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

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/3/20 13:17:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/7/3 3:19:04

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

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