想做一个类似动态新闻公告,现在已经利用xml跟xsl 可以分页了,现在需要在每条公告上面做一个链接,链接到详细的新闻内容。
时间:2010-07-25
来源:互联网
我的xsl文件。
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><!--标准-->
<xsl:template match="/">
<html>
<head>
<title>最新活动</title>
<style>
body,div,NewDataSet,Results,序号,blue_name,blue_text,blue_time,blue_class{ font: 16px "宋体", "微软雅黑",
"Times New Roman"; }
table { font-size: 16px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC;
cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
span { font-size: 16px; color: red; }
.keybutton { cursor:hand; font-size: 16px; color: #003300; background: #ffffff; border: 0px
solid;}
</style>
<script>
<xsl:comment>
<![CDATA[
var OnePageNum=4;
var PageNum=1;
var XMLPageNum=1;
function pages(Num)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
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("//@test"); //<!--改-->
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="position()>="+firstNum+" and position()<="+lastNum; //<!--改,注:此处小于号用字符-->
sortField.text=text; //<!--改-->
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
]]>
</xsl:comment>
</script>
</head>
<body background="netbkgnd.gif">
<p align="center"><span><font size="7" face="微软雅黑" color="#FF0066">最 新 活 动</font></span></p>
<table align="center" width="90%" >
<tr>
<td align="center" height="50" >
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" ><font size="4" face="微软雅黑" color="#000000">首 页</font></button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" ><font size="4" face="微软雅黑" color="#000000">上一页</font></button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');"><font size="4" face="微软雅黑" color="#000000">下一页</font></button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');"><font size="4" face="微软雅黑" color="#000000">尾 页</font></button>
</td>
</tr>
</table>
<div id="Layer1" name="Layer1"> <xsl:apply-templates select="NewDataSet" /></div>
<table align="center" width="90%" >
<tr>
<td align="center" height="50" >
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" ><font size="4" face="微软雅黑" color="#000000">首 页</font></button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" ><font size="4" face="微软雅黑" color="#000000">上一页</font></button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');"><font size="4" face="微软雅黑" color="#000000">下一页</font></button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');"><font size="4" face="微软雅黑" color="#000000">尾 页</font></button>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="NewDataSet">
<table width="90%" 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="Results"/><!--改,注:此处去掉order-by属性,它是草案版的独有。-->
</table>
</xsl:template>
<xsl:template match="Results">
<xsl:if test="position()>=1 and position() <= 4"><!--改,注:此处小于号要转义,即&lt;-->
<tr align="center">
<xsl:apply-templates select="序号" />
<xsl:apply-templates select="时间" />
<xsl:apply-templates select="地点" />
<xsl:apply-templates select="主题" />
<xsl:apply-templates select="主讲" />
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="序号">
<td bgcolor="#eeeeee">
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="时间">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="地点">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="主题">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="主讲">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
</xsl:stylesheet>
我的xml数据文件,根据dataset生成的。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='page.xsl'?>
<NewDataSet>
<Results>
<序号>1</序号>
<时间>07 24 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>让写字成为最有趣的事情.</主题>
<主讲>罗一鸣</主讲>
<内容>儿童慧画馆长</内容>
</Results>
<Results>
<序号>2</序号>
<时间>07 29 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>七堂课,解决中学生书写问题.</主题>
<主讲>罗一鸣</主讲>
<内容>青年书画家.馆长.</内容>
</Results>
<Results>
<序号>3</序号>
<时间>07 29 2010 10:00AM</时间>
<地点>图书大厦</地点>
<主题>思维慧画</主题>
<主讲>罗一鸣</主讲>
<内容>馆长大连神墨</内容>
</Results>
<Results>
<序号>4</序号>
<时间>08 4 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>作家与小读者见面交流会</主题>
<主讲>满涛</主讲>
<内容><少年大世界>主编,作品<哭鼻子的大书包>等</内容>
</Results>
<Results>
<序号>5</序号>
<时间>8月1日</时间>
<地点>图书大厦</地点>
<主题>当场成为绘画高手</主题>
<主讲>罗一鸣</主讲>
<内容>画画</内容>
</Results>
<Results>
<序号>6</序号>
<时间>8月2日</时间>
<地点>图书大厦</地点>
<主题>写字</主题>
<主讲>罗二名</主讲>
<内容>写字剪纸</内容>
</Results>
<Results>
<序号>7</序号>
<时间>八月三日</时间>
<地点>图书大厦会议室</地点>
<主题>摄影</主题>
<主讲>郑勇气</主讲>
<内容>摄影艺术拍照</内容>
</Results>
<Results>
<序号>8</序号>
<时间>9月2日</时间>
<地点>图书大厦小会议室</地点>
<主题>教育之魂是爱</主题>
<主讲>于立极</主讲>
<内容>爱学生,教师当努力</内容>
</Results>
<Results>
<序号>9</序号>
<时间>7月25号</时间>
<地点>计算机中心</地点>
<主题>xml分页成功完成</主题>
<主讲>xml分页</主讲>
<内容>xml分页测试成功</内容>
</Results>
</NewDataSet>
现在想实现点击1-9每个整行,都能链接到一个新的html网页来显示更详细的公告内容。(可以再建立新表,或者在原有表上增加列,都行。)谢谢同学们了。
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><!--标准-->
<xsl:template match="/">
<html>
<head>
<title>最新活动</title>
<style>
body,div,NewDataSet,Results,序号,blue_name,blue_text,blue_time,blue_class{ font: 16px "宋体", "微软雅黑",
"Times New Roman"; }
table { font-size: 16px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC #CCCCCC;
cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
span { font-size: 16px; color: red; }
.keybutton { cursor:hand; font-size: 16px; color: #003300; background: #ffffff; border: 0px
solid;}
</style>
<script>
<xsl:comment>
<![CDATA[
var OnePageNum=4;
var PageNum=1;
var XMLPageNum=1;
function pages(Num)
{
stylesheet=document.XSLDocument;
source=document.XMLDocument;
nodes=source.documentElement.childNodes;
len=nodes.length;
for(i=1;i<=(len/OnePageNum);i++);
XMLPageNum=i;
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("//@test"); //<!--改-->
firstNum=OnePageNum*(PageNum-1)+1;
lastNum=OnePageNum*(PageNum-1)+OnePageNum;
text="position()>="+firstNum+" and position()<="+lastNum; //<!--改,注:此处小于号用字符-->
sortField.text=text; //<!--改-->
Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
}
]]>
</xsl:comment>
</script>
</head>
<body background="netbkgnd.gif">
<p align="center"><span><font size="7" face="微软雅黑" color="#FF0066">最 新 活 动</font></span></p>
<table align="center" width="90%" >
<tr>
<td align="center" height="50" >
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" ><font size="4" face="微软雅黑" color="#000000">首 页</font></button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" ><font size="4" face="微软雅黑" color="#000000">上一页</font></button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');"><font size="4" face="微软雅黑" color="#000000">下一页</font></button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');"><font size="4" face="微软雅黑" color="#000000">尾 页</font></button>
</td>
</tr>
</table>
<div id="Layer1" name="Layer1"> <xsl:apply-templates select="NewDataSet" /></div>
<table align="center" width="90%" >
<tr>
<td align="center" height="50" >
<button id="cmdfirstPage" class="keybutton" onclick="pages('first');" ><font size="4" face="微软雅黑" color="#000000">首 页</font></button>
<button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" ><font size="4" face="微软雅黑" color="#000000">上一页</font></button>
<button id="cmdnextPage" class="keybutton" onclick="pages('next');"><font size="4" face="微软雅黑" color="#000000">下一页</font></button>
<button id="cmdlastPage" class="keybutton" onclick="pages('last');"><font size="4" face="微软雅黑" color="#000000">尾 页</font></button>
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="NewDataSet">
<table width="90%" 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="Results"/><!--改,注:此处去掉order-by属性,它是草案版的独有。-->
</table>
</xsl:template>
<xsl:template match="Results">
<xsl:if test="position()>=1 and position() <= 4"><!--改,注:此处小于号要转义,即&lt;-->
<tr align="center">
<xsl:apply-templates select="序号" />
<xsl:apply-templates select="时间" />
<xsl:apply-templates select="地点" />
<xsl:apply-templates select="主题" />
<xsl:apply-templates select="主讲" />
</tr>
</xsl:if>
</xsl:template>
<xsl:template match="序号">
<td bgcolor="#eeeeee">
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="时间">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="地点">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="主题">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="主讲">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
</xsl:stylesheet>
我的xml数据文件,根据dataset生成的。
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='page.xsl'?>
<NewDataSet>
<Results>
<序号>1</序号>
<时间>07 24 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>让写字成为最有趣的事情.</主题>
<主讲>罗一鸣</主讲>
<内容>儿童慧画馆长</内容>
</Results>
<Results>
<序号>2</序号>
<时间>07 29 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>七堂课,解决中学生书写问题.</主题>
<主讲>罗一鸣</主讲>
<内容>青年书画家.馆长.</内容>
</Results>
<Results>
<序号>3</序号>
<时间>07 29 2010 10:00AM</时间>
<地点>图书大厦</地点>
<主题>思维慧画</主题>
<主讲>罗一鸣</主讲>
<内容>馆长大连神墨</内容>
</Results>
<Results>
<序号>4</序号>
<时间>08 4 2010 1:30PM</时间>
<地点>图书大厦</地点>
<主题>作家与小读者见面交流会</主题>
<主讲>满涛</主讲>
<内容><少年大世界>主编,作品<哭鼻子的大书包>等</内容>
</Results>
<Results>
<序号>5</序号>
<时间>8月1日</时间>
<地点>图书大厦</地点>
<主题>当场成为绘画高手</主题>
<主讲>罗一鸣</主讲>
<内容>画画</内容>
</Results>
<Results>
<序号>6</序号>
<时间>8月2日</时间>
<地点>图书大厦</地点>
<主题>写字</主题>
<主讲>罗二名</主讲>
<内容>写字剪纸</内容>
</Results>
<Results>
<序号>7</序号>
<时间>八月三日</时间>
<地点>图书大厦会议室</地点>
<主题>摄影</主题>
<主讲>郑勇气</主讲>
<内容>摄影艺术拍照</内容>
</Results>
<Results>
<序号>8</序号>
<时间>9月2日</时间>
<地点>图书大厦小会议室</地点>
<主题>教育之魂是爱</主题>
<主讲>于立极</主讲>
<内容>爱学生,教师当努力</内容>
</Results>
<Results>
<序号>9</序号>
<时间>7月25号</时间>
<地点>计算机中心</地点>
<主题>xml分页成功完成</主题>
<主讲>xml分页</主讲>
<内容>xml分页测试成功</内容>
</Results>
</NewDataSet>
现在想实现点击1-9每个整行,都能链接到一个新的html网页来显示更详细的公告内容。(可以再建立新表,或者在原有表上增加列,都行。)谢谢同学们了。
作者: iliking 发布时间: 2010-07-25
详细?
<td>
<a href='show.asp?id={序号或者其他标识}'>详细</a>
</td>
<td>
<a href='show.asp?id={序号或者其他标识}'>详细</a>
</td>
作者: net_lover 发布时间: 2010-07-26
我用的是winform,内嵌webbrowser,想实现新闻公告的效果:就是查询出公告的主题和时间用分页来显示,然后点击主题 跳转到相应的网页(根据xsl模板生成对应的html页面,有该主题的具体内容,),也在同一个webbrowser内显示.谢谢.
作者: iliking 发布时间: 2010-07-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28