XML之动态排序

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

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

Page.xsl:
<? xmlversion="1.0"encoding="gb2312" ?>
< xsl:stylesheet xmlns:xsl ="http://www.w3.org/TR/WD-xsl" >
< xsl:template match ="/" >
< html >
< head >
< title >
车仔手札--XML卷之(3):动态分页
</ title >
< style >
body,BlueIdea,team,blue_ID,blue_name,blue_text,blue_time,blue_class{font:12px"宋体","Arial","TimesNewRoman";}
table{font-size:12px;border:0pxdouble;border-color:#99CC99#99CC99#CCCCCC#CCCCCC;cellpadding:3;cellspacing:3;bgcolor:#eeeeee;text-decoration:blink}
.keybutton{cursor:hand;font-size:12px;color:#003300;background:#ffffff;border:0pxsolid;}
</ style >
< script >
< xsl:comment >
<![CDATA[
varsearch;
varOnePageNum=2;
varPageNum=1;
varXMLPageNum=1;
functionwindow.onload()
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
}

functionpages(Num)
{
varfirstNum=0;
varlastNume=0;
if(Num=="first"){PageNum=1;}
if(Num=="previous"){if(PageNum>1)PageNum-=1;}
if(Num=="next"){if(PageNum<XMLPageNum)PageNum+=1;}
if(Num=="last"){PageNum=XMLPageNum;}
sortField=document.XSLDocument.selectSingleNode("//@expr");
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="childnumber(this)>="+firstNum+"&childnumber(this)<="+lastNum;
sortField.value=text;
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
]]>
</ xsl:comment >
</ script >
</ head >
< body >
< table align ="center" width ="600" >
< tr >
< td >
< button id ="cmdfirstPage" class ="keybutton" onclick ="pages('first');" > 首页 </ button >
< button id ="cmdpreviousPage" class ="keybutton" onclick ="pages('previous');" > 上一页 </ button >
< button id ="cmdnextPage" class ="keybutton" onclick ="pages('next');" > 下一页 </ button >
< button id ="cmdlastPage" class ="keybutton" onclick ="pages('last');" > 尾页 </ button >
</ td >
</ tr >
</ table >
< br />
< div id ="Layer1" name ="Layer1" > < xsl:apply-templates select ="BlueIdea" /></ div >
</ body >
</ html >
</ xsl:template >

< xsl:template match ="BlueIdea" >
< table width ="600" border ="1" align ="center" cellpadding ="1" cellspacing ="1" bordercolordark ="#ffffff" bordercolorlight ="#ADAAAD" >
< tr bgcolor ="#FFCC99" align ="center" >
< td > 编号 </ td >
< td > 姓名 </ td >
< td > 主题 </ td >
< td > 发表时间 </ td >
< td > 归类 </ td >
</ tr >
< xsl:apply-templates select ="team" order-by ="blue_ID" />
</ table >
</ xsl:template >

< xsl:template match ="team" >
< xsl:if expr ="childnumber(this)&gt;=1&amp;childnumber(this)&lt;=2" >
< tr align ="center" >
< xsl:apply-templates select ="blue_ID" />
< xsl:apply-templates select ="blue_name" />
< xsl:apply-templates select ="blue_text" />
< xsl:apply-templates select ="blue_time" />
< xsl:apply-templates select ="blue_class" />
</ tr >
</ xsl:if >
</ xsl:template >

< xsl:template match ="blue_ID" >
< td bgcolor ="#eeeeee" >
< xsl:value-of />
</ td >
</ xsl:template >
< xsl:template match ="blue_name" >
< td >< xsl:value-of /></ td >
</ xsl:template >
< xsl:template match ="blue_text" >
< td >
< xsl:value-of />
</ td >
</ xsl:template >
< xsl:template match ="blue_time" >
< td >
< xsl:value-of />
</ td >
</ xsl:template >
< xsl:template match ="blue_class" >
< td >
< xsl:value-of />
</ td >
</ xsl:template >

</ xsl:stylesheet >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值