zoukankan
html css js c++ java
MSN 历史纪录分页显示(XML + XSL + Javascript)
MSN自带的XSL无分业功能,写一个简单的分页XSL:
将此文件替换MSN原有的XSL文件:MessageLog.xsl 即可
<?
xml version="1.0"
?>
<
xsl:stylesheet
xmlns:xsl
="http://www.w3.org/1999/XSL/Transform"
version
="1.0"
>
<
xsl:variable
name
="PageCount"
>
10
</
xsl:variable
>
<
xsl:template
match
="/"
>
<
html
>
<
head
>
<
title
>
Msn Chat History
</
title
>
<
style
type
="text/css"
>
body,td
{
font-size:14px;
}
.FirstCSS
{
color:#003366;
background-color:#FFFFFF;
}
.PagesCss
{
color:#003366;
font-size:13px;
}
</
style
>
<
script
langauge
="javascript"
>
<
xsl:comment
>
<![CDATA[
var CurrentPage = 1;
var PageCount = 10;
function InitMessage()
{
LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +" ,Current:"+ CurrentPage +"]";
}
function GetTotlePage()
{
var XMLObj = document.XMLDocument;
var totlePage = XMLObj.documentElement.selectNodes("//Message");
if( parseInt(totlePage.length/10)*10 == totlePage.length )
totlePage = parseInt(totlePage.length/PageCount);
else
totlePage = parseInt(totlePage.length/PageCount) + 1;
return totlePage;
}
function PageChange( expr )
{
switch( expr )
{
case "F":
CurrentPage = 1;
break;
case "P":
if(CurrentPage>1)
CurrentPage -= 1;
break;
case "N":
if(CurrentPage<GetTotlePage())
CurrentPage += 1;
break;
case "L":
CurrentPage = GetTotlePage();
break;
}
var XSLObj = document.XSLDocument;
var XMLObj = document.XMLDocument;
var expr = "Message[position() < "+ CurrentPage*PageCount +" and position() > "+ (CurrentPage-1)*PageCount +"]";
document.XSLDocument.selectSingleNode("//xsl:for-each/@select").value = expr;
ConXML.innerHTML = XMLObj.documentElement.transformNode(XSLObj);
LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +" ,Current:"+ CurrentPage +"]";
}
]]>
</
xsl:comment
>
</
script
>
</
head
>
<
body
class
="document_body"
onload
="InitMessage()"
>
<
h1
>
<
xsl:value-of
select
="Log/Message/From/User/@FriendlyName"
/>
Chat With
<
xsl:value-of
select
="Log/Message/To/User/@FriendlyName"
/>
</
h1
>
<
div
id
="ConXML"
>
<
xsl:apply-templates
select
="Log"
></
xsl:apply-templates
>
</
div
>
</
body
>
</
html
>
</
xsl:template
>
<
xsl:template
match
="Log"
>
<
table
width
="100%"
cellspacing
="1"
cellpadding
="1"
border
="0"
bgcolor
="#6699AA"
>
<
tr
bgcolor
="#DDDDDD"
>
<
td
>
SessionID
</
td
>
<
td
>
From
</
td
>
<
td
>
To
</
td
>
<
td
>
Time
</
td
>
<
td
>
Text
</
td
>
</
tr
>
<
xsl:for-each
select
="Message[position() < $PageCount]"
>
<
xsl:sort
order
="ascending"
select
="@SessionID"
data-type
="number"
></
xsl:sort
>
<
tr
class
="FirstCSS"
>
<
td
>
<
xsl:value-of
select
="@SessionID"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="From/User/@FriendlyName"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="To/User/@FriendlyName"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="@Time"
/>
</
td
>
<
td
>
<
xsl:value-of
select
="string(Text)"
/>
</
td
>
</
tr
>
</
xsl:for-each
>
<
tr
bgcolor
="#DDDDDD"
>
<
td
colspan
="5"
align
="right"
>
<
span
class
="PagesCss"
>
<
span
id
="LblMessage"
></
span
>
[
<
span
onclick
="PageChange('F')"
style
="cursor:hand"
>
First
</
span
>
]
[
<
span
onclick
="PageChange('P')"
style
="cursor:hand"
>
Previous
</
span
>
]
[
<
span
onclick
="PageChange('N')"
style
="cursor:hand"
>
Next
</
span
>
]
[
<
span
onclick
="PageChange('L')"
style
="cursor:hand"
>
Last
</
span
>
]
</
span
>
</
td
>
</
tr
>
</
table
>
</
xsl:template
>
</
xsl:stylesheet
>
青苹果Web应用商店
https://webapp.taobao.com/
PHP/ASP.NET/ASP/UCHOME/DISCUZ! X系列网站开发,详细需求联系
QQ:8511978
查看全文
相关阅读:
Spring框架概念
git stash 用法总结和注意点
Java虚拟机:对象创建过程与类加载机制、双亲委派模型
办公软件技巧
Zookeeper到底是干嘛的
ANdroid Studio下载
node.js网络(net)
显示日期
打包apk
流
原文地址:https://www.cnblogs.com/Dicky/p/475351.html
最新文章
ssm整合模板
SpringMVC接收json和处理json乱码问题
HttpMessageConverter
SpringMVC对日期的转换
SpringMVC执行原理
记一次curl请求https证书过期问题
git标签
m3u8转mp4
小学数学教的求余数和php取模的区别
百万数据的curd测试
热门文章
yii常用命令
mac键位映射
laravel常用命令
常用的sql
百度高级搜索,有图秒懂【干货】
java题库
产品架构中的IaaS、SaaS、paas的含义及区别
Netty入门与实战教程
EXCEL函数大全
ExpiringMap用法详解
Copyright © 2011-2022 走看看