有2个文件:Page.xml和Page.xsl
Page.xml:
Page.xsl:
Page.xml:
<?
xml version="1.0" encoding="gb2312"
?>
<? xml-stylesheet type="text/xsl" href="Page.xsl" ?>
< BlueIdea >
< team >
< blue_ID > 1 </ blue_ID >
< blue_name > 车仔 </ blue_name >
< blue_text > 一个简单的排序 </ blue_text >
< blue_time > 2002-1-11 17: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-06 12: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-23 21: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-08 10: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-13 16:39:05 </ blue_time >
< blue_class > javascript脚本 </ blue_class >
</ team >
</ BlueIdea >
<? xml-stylesheet type="text/xsl" href="Page.xsl" ?>
< BlueIdea >
< team >
< blue_ID > 1 </ blue_ID >
< blue_name > 车仔 </ blue_name >
< blue_text > 一个简单的排序 </ blue_text >
< blue_time > 2002-1-11 17: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-06 12: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-23 21: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-08 10: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-13 16:39:05 </ blue_time >
< blue_class > javascript脚本 </ blue_class >
</ team >
</ BlueIdea >
Page.xsl:
<?
xml version="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", "Times New Roman"; }
table { font-size: 12px; border: 0px double; 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: 0px solid;}
</ style >
< script >
< xsl:comment >
<![CDATA[
var search;
var OnePageNum=2;
var PageNum=1;
var XMLPageNum=1;
function window.onload()
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
}
function pages(Num)
{
var firstNum=0;
var lastNume=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)>=1 & childnumber(this)<=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 >
< 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", "Times New Roman"; }
table { font-size: 12px; border: 0px double; 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: 0px solid;}
</ style >
< script >
< xsl:comment >
<![CDATA[
var search;
var OnePageNum=2;
var PageNum=1;
var XMLPageNum=1;
function window.onload()
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
}
function pages(Num)
{
var firstNum=0;
var lastNume=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)>=1 & childnumber(this)<=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 >