XML之动态分页

有2个文件:Page.xml和Page.xsl

Page.xml:
None.gif <? xml version="1.0" encoding="gb2312"  ?>
None.gif
<? xml-stylesheet type="text/xsl" href="Page.xsl"  ?>
None.gif
< BlueIdea >
None.gif    
< team >
None.gif        
< blue_ID > 1 </ blue_ID >
None.gif        
< blue_name > 车仔 </ blue_name >
None.gif        
< blue_text > 一个简单的排序 </ blue_text >
None.gif        
< blue_time > 2002-1-11 17:35:33 </ blue_time >
None.gif        
< blue_class > XML专题 </ blue_class >
None.gif    
</ team >
None.gif     
< team >
None.gif        
< blue_ID > 2 </ blue_ID >
None.gif        
< blue_name > flyingbird </ blue_name >
None.gif        
< blue_text > 嫁给你,是要你疼的 </ blue_text >
None.gif        
< blue_time > 2001-09-06 12:45:51 </ blue_time >
None.gif        
< blue_class > 灌水精华 </ blue_class >
None.gif    
</ team >
None.gif     
< team >
None.gif        
< blue_ID > 3 </ blue_ID >
None.gif        
< blue_name > 苛子 </ blue_name >
None.gif        
< blue_text > 正则表达式在UBB论坛中的应用 </ blue_text >
None.gif        
< blue_time > 2001-11-23 21:02:16 </ blue_time >
None.gif        
< blue_class > Web 编程精华 </ blue_class >
None.gif    
</ team >
None.gif     
< team >
None.gif        
< blue_ID > 4 </ blue_ID >
None.gif        
< blue_name > 太乙郎 </ blue_name >
None.gif        
< blue_text > 年末经典分舵聚会完全手册 v0.1 </ blue_text >
None.gif        
< blue_time > 2000-12-08 10:22:48 </ blue_time >
None.gif        
< blue_class > 论坛灌水区 </ blue_class >
None.gif    
</ team >
None.gif     
< team >
None.gif        
< blue_ID > 5 </ blue_ID >
None.gif        
< blue_name > mmkk </ blue_name >
None.gif        
< blue_text > Asp错误信息总汇 </ blue_text >
None.gif        
< blue_time > 2001-10-13 16:39:05 </ blue_time >
None.gif        
< blue_class > javascript脚本 </ blue_class >
None.gif    
</ team >
None.gif
</ BlueIdea >

Page.xsl:
None.gif <? xml version="1.0" encoding="gb2312"  ?>
None.gif
< xsl:stylesheet  xmlns:xsl ="http://www.w3.org/TR/WD-xsl" >
None.gif    
< xsl:template  match ="/" >
None.gif        
< html >
None.gif        
< head >
None.gif        
< title >
None.gif        车仔手札--XML卷之(3):动态分页
None.gif        
</ title >
None.gif        
< style >
None.gif            body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{ font: 12px "宋体", "Arial", "Times New Roman"; } 
None.gif            table { font-size: 12px;  border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink} 
None.gif            .keybutton {  cursor:hand;  font-size: 12px; color: #003300;  background: #ffffff; border: 0px solid;}
None.gif        
</ style >  
None.gif                
< script >
None.gif                    
< xsl:comment >
None.gif                        
<![CDATA[
None.gif                            var search;
None.gif                            var OnePageNum=2;
None.gif                            var PageNum=1;
None.gif                            var XMLPageNum=1;
None.gif                            function window.onload()
None.gif                            {
None.gif                                stylesheet=document.XSLDocument;
None.gif                                source=document.XMLDocument;
None.gif                                nodes=source.documentElement.childNodes;
None.gif                                len=nodes.length;
None.gif                                for(i=1;i<=(len/OnePageNum);i++);
None.gif                                XMLPageNum=i;    
None.gif                            }
None.gif                            
None.gif                            function pages(Num)
None.gif                            {
None.gif                                var firstNum=0;
None.gif                                var lastNume=0;            
None.gif                                if (Num=="first") {PageNum=1;}
None.gif                                if (Num=="previous") {if (PageNum>1) PageNum -=1;}
None.gif                                if (Num=="next") {if (PageNum<XMLPageNum) PageNum +=1;}
None.gif                                if (Num=="last") {PageNum =XMLPageNum;}
None.gif                                sortField=document.XSLDocument.selectSingleNode("//@expr");
None.gif                                firstNum=OnePageNum*(PageNum-1)+1;
None.gif                                lastNum=OnePageNum*(PageNum-1)+OnePageNum;
None.gif                                text="childnumber(this)>="+firstNum+" & childnumber(this)<="+lastNum;
None.gif                                sortField.value=text;
None.gif                                Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
None.gif                            }    
None.gif                        
]]>
None.gif                    
</ xsl:comment >     
None.gif                
</ script >
None.gif        
</ head >
None.gif        
< body >
None.gif            
< table  align ="center"  width ="600"   >
None.gif                
< tr >  
None.gif                    
< td >  
None.gif                      
< button  id ="cmdfirstPage"   class ="keybutton"    onclick ="pages('first');"   > 首页 </ button >
None.gif                      
< button  id ="cmdpreviousPage"   class ="keybutton"    onclick ="pages('previous');"   > 上一页 </ button >
None.gif                      
< button  id ="cmdnextPage"  class ="keybutton"   onclick ="pages('next');" > 下一页 </ button >
None.gif                      
< button  id ="cmdlastPage"  class ="keybutton"   onclick ="pages('last');" > 尾页 </ button >
None.gif                    
</ td >
None.gif              
</ tr >
None.gif            
</ table >
None.gif            
< br  />
None.gif            
< div  id ="Layer1"  name ="Layer1" >   < xsl:apply-templates  select ="BlueIdea"   /></ div >                           
None.gif        
</ body >
None.gif        
</ html >     
None.gif    
</ xsl:template >
None.gif    
None.gif    
< xsl:template  match ="BlueIdea" >
None.gif        
< table  width ="600"  border ="1"  align ="center"  cellpadding ="1"  cellspacing ="1"  bordercolordark ="#ffffff"  bordercolorlight ="#ADAAAD" >
None.gif            
< tr  bgcolor ="#FFCC99"  align ="center" >
None.gif                
< td > 编号 </ td >
None.gif                
< td > 姓名 </ td >
None.gif                
< td > 主题 </ td >
None.gif                
< td > 发表时间 </ td >
None.gif                
< td > 归类 </ td >
None.gif            
</ tr >             
None.gif            
< xsl:apply-templates  select ="team"  order-by ="blue_ID" />
None.gif        
</ table >         
None.gif    
</ xsl:template >
None.gif            
None.gif    
< xsl:template  match ="team" >
None.gif        
< xsl:if  expr ="childnumber(this)&gt;=1 &amp; childnumber(this)&lt;=2 " >
None.gif        
< tr   align ="center" >
None.gif            
< xsl:apply-templates  select ="blue_ID"   />
None.gif            
< xsl:apply-templates  select ="blue_name"   />
None.gif            
< xsl:apply-templates  select ="blue_text"   />
None.gif            
< xsl:apply-templates  select ="blue_time"   />
None.gif            
< xsl:apply-templates  select ="blue_class"   />
None.gif        
</ tr >
None.gif        
</ xsl:if >     
None.gif    
</ xsl:template >     
None.gif    
None.gif    
< xsl:template  match ="blue_ID" >
None.gif        
< td  bgcolor ="#eeeeee" >
None.gif            
< xsl:value-of  />
None.gif        
</ td >
None.gif    
</ xsl:template >
None.gif    
< xsl:template  match ="blue_name" >
None.gif        
< td >< xsl:value-of  /></ td >
None.gif    
</ xsl:template >
None.gif    
< xsl:template  match ="blue_text" >
None.gif        
< td >
None.gif            
< xsl:value-of  />
None.gif        
</ td >
None.gif    
</ xsl:template >
None.gif    
< xsl:template  match ="blue_time" >
None.gif        
< td >
None.gif            
< xsl:value-of  />
None.gif        
</ td >
None.gif    
</ xsl:template >
None.gif    
< xsl:template  match ="blue_class" >
None.gif        
< td >             
None.gif            
< xsl:value-of  />
None.gif        
</ td >
None.gif    
</ xsl:template >
None.gif    
None.gif
</ xsl:stylesheet >

转载于:https://www.cnblogs.com/Dicky/archive/2006/08/13/475349.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值