xml文件(rss2.0)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="template.xsl"?>
<rss xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title>电影</title>
<link>http://localhost:8080/rss/3.xml</link>
<description>电影频道</description>
<image>
<title>添加</title>
<url>http://localhost:8080/rss/images/add.gif</url>
<description>添加</description>
</image>
<item>
<title>土豆视频</title>
<link>http://www.tudou.com</link>
<description>土豆视频</description>
<pubDate>Mon, 17 Dec 2007 16:00:00 GMT</pubDate>
<guid>http://www.tudou.com</guid>
<dc:date>2007-12-17T16:00:00Z</dc:date>
</item>
<item>
<title>六间房</title>
<link>http://www.6rooms.com</link>
<description>六间房电影</description>
<pubDate>Tue, 01 Jan 2008 16:00:00 GMT</pubDate>
<guid>http://www.6rooms.com</guid>
<dc:date>2008-01-01T16:00:00Z</dc:date>
</item>
<item>
<title>tom电影频道</title>
<link>http://ent.tom.com/movie/</link>
<description>tom电影</description>
<pubDate>Tue, 01 Jan 2008 16:00:00 GMT</pubDate>
<guid>http://ent.tom.com/movie/</guid>
<dc:date>2008-01-01T16:00:00Z</dc:date>
</item>
<item>
<title>迅雷电影</title>
<link>http://www.xunlei.com</link>
<description>迅雷电影</description>
<pubDate>Tue, 01 Jan 2008 16:00:00 GMT</pubDate>
<guid>http://www.xunlei.com</guid>
<dc:date>2008-01-01T16:00:00Z</dc:date>
</item>
<item>
<title>网易电影</title>
<link>http://ent.163.com/movie/</link>
<description>网易电影</description>
<pubDate>Tue, 01 Jan 2008 16:00:00 GMT</pubDate>
<guid>http://ent.163.com/movie/</guid>
<dc:date>2008-01-01T16:00:00Z</dc:date>
</item>
</channel>
</rss>
xsl文件:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--Declare Current Page-->
<xsl:param name="current">1</xsl:param>
<!--Declare Page Size-->
<xsl:param name="page">2</xsl:param>
<!--Declare xmlDocument address-->
<xsl:param name="ad">3.xml</xsl:param>
<xsl:template match="/">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title><xsl:value-of select="rss/channel/title"/></title>
<script type="text/javascript">
function paging(page,ad){
var xmlDocument;
var xslDocument;
if (window.ActiveXObject){
xslDocument=new ActiveXObject("Microsoft.XMLDOM");
xslDocument.async=false;
xmlDocument=new ActiveXObject("Microsoft.XMLDOM");
xmlDocument.async=false;
xslDocument.load("template.xsl");
xmlDocument.load(ad);
xslDocument.selectNodes("xsl:stylesheet/xsl:template[@match='/']").removeAll();
xslDocument.selectSingleNode("xsl:stylesheet/xsl:param[@name='current']").text=page;
document.body.innerHTML=xmlDocument.transformNode(xslDocument);
}else{ // code for Mozilla, Firefox, Opera, etc.
xslDocument=document.implementation.createDocument("","",null);
xslDocument.async = false;
xmlDocument=document.implementation.createDocument("","",null);
xmlDocument.async=false;
xslDocument.load("template.xsl");
xmlDocument.load(ad);
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDocument);
xsltProcessor.setParameter(null,"current",page);
var result = xsltProcessor.transformToDocument(xmlDocument);
var xmls = new XMLSerializer();
document.body.innerHTML = xmls.serializeToString(result);
}
}
</script>
</HEAD>
<body topmargin="0" leftmargin="0" bgcolor="#47A3AC" background="http://61.158.218.76/eums/generator/img/cncbg06040415593.jpg">
<xsl:apply-templates/>
</body>
</HTML>
</xsl:template>
<xsl:template match="rss" name="show1">
<xsl:apply-templates select="item[position() >= ($current - 1) * $page and position() <= $current * $page]"/>
<xsl:call-template name="page"/>
</xsl:template>
<xsl:template match="rss" name="show">
<table border="0" cellspacing="0" cellpadding="0" style="position: absolute; width: 204px; height: 33px; left: 72px; top:13px">
<tr>
<td align="left"><span style="text-decoration:none"><font color="#FAFAFA"><strong>当前栏目:<xsl:value-of select="channel/title"/></strong></font></span></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0" style="position: absolute; width: 600px; height: 313px; left: 25px; top:55px">
<tr>
<td>
<font color="#FAFAFA"><span style="text-decoration: none"><strong>
Feed地址:<xsl:value-of select="channel/link"/></strong></span></font>
</td>
</tr>
<tr>
<td>
<font color="#FAFAFA"><span style="text-decoration: none"><strong>当前Feed内容: </strong></span></font>
</td>
</tr>
<xsl:for-each select="channel/item[position() > ($current - 1) * $page and position() <= $current * $page]">
<tr>
<td>
<table width="300" height="30" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="left" valign="middle" height="29">
<a>
<xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
<font color="#FAFAFA" size="2"><span style="text-decoration: none"><strong><xsl:value-of select="title"/> </strong></span></font>
</a>
</td>
</tr>
<tr>
<td align="left" valign="middle" height="29">
<font size="2" color="#FAFAFA" face="Arial"><xsl:value-of select="description"/></font>
</td>
</tr>
<tr>
<td align="left" valign="middle" height="29">
<font size="2" color="#FAFAFA" face="Arial"><xsl:value-of select="pubDate"/></font>
</td>
</tr>
</table>
</td>
<td>
<table width="300" height="30" border="0" cellspacing="1" cellpadding="0">
<tr>
<xsl:for-each select="/rss/channel/image">
<td align="left" valign="middle" height="29">
<img>
<xsl:attribute name="src"><xsl:value-of select="/rss/channel/image/url"/></xsl:attribute>
</img>
</td>
</xsl:for-each>
</tr>
</table>
</td>
</tr>
</xsl:for-each>
<tr>
<td>
<xsl:call-template name="show1"/>
</td>
</tr>
</table>
</xsl:template>
<xsl:template name="page">
<xsl:for-each select="/rss/channel/item[position() mod $page = 1]">
<a href="javascript:paging({position()},'{$ad}')">
<font color="#FAFAFA" size="3"><span style="text-decoration: none"><strong>
<xsl:value-of select="position()"/>
</strong></span></font>
</a><xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
分享到:
相关推荐
XSLT可以通过控制`<xsl:page-break>`来实现分页,但需要注意浏览器和处理器的兼容性问题。 **5. XSLT的高级特性** - **扩展对象(Extension Objects)**:允许使用特定处理器提供的额外功能。 - **命名空间...
XML RenderFormat选项得到了增强,它能以XML格式下载用户请求的下一页记录,利用浏览器已缓存的XSLT样式表对这些记录进行转换,然后在不刷新整个页面的情况下显示它们。这种方式极大地优化了分页性能,提高了用户...
XSLT(XSL Transformations)是实现这一过程的具体语言,它定义了如何从XML源数据生成目标文档的规则。 在创建分页的HTML报告时,XSLT可以用来处理XML数据,并在适当的位置插入分页符。例如,当一个表格或段落跨越...
在这个项目中,可能有一个XML文件包含了数据库记录,使用XSLT将这些记录转换成HTML表格,并利用JavaScript实现了分页显示。用户可以在浏览器中查看和操作这些数据,同时,XML的验证确保了数据的准确无误。为了实现这...
1. 浏览器兼容性:不是所有浏览器都支持所有AJAX特性,需要考虑跨浏览器开发。 2. SEO问题:搜索引擎可能无法正确抓取和索引异步加载的内容。 3. 安全性:由于数据交换是在幕后进行,可能导致安全漏洞。 4. 用户感知...
JavaScript可以用来添加动态效果,如分页、排序和过滤,而CSS则负责样式布局,确保报表在不同设备和浏览器上的视觉一致性。 综上所述,利用XML实现通用WEB报表打印的过程主要包括:定义XML结构(通过DTD或XML ...
传统的分页方式,多数是通过单击按钮的方式来显示分页的。利用Ajax可以通过使用滑块的滑动来选择所显示的分页,这种拖拽的方式有很好的用户体验。 /test.html 滑动显示分页页面 /js JavaScript脚本...
1. **用户界面**:用户通过浏览器访问ASP页面,看到一个显示现有留言的界面,可能还包括输入框用于提交新留言。 2. **请求处理**:当用户提交新留言时,ASP脚本接收到请求,验证用户输入,然后将新留言的数据结构...
1. **XSLT**(XSL Transformations):用于将XML文档从一种格式转换为另一种格式。 2. **XSL-FO**(XSL Formatting Objects):用于控制最终输出的样式和布局。 XSLT的工作原理是通过读取原始XML文档,并根据预定义...
它并不依赖于一种全新的编程语言,而是利用已有的Web开发技术,如JavaScript、XHTML、CSS、DOM、XML、XSLT以及XMLHttpRequest对象,组合形成一个能够实现异步数据交换的平台。 在传统Web应用中,用户每次交互都需要...
- 数据加载:分页、无限滚动、实时搜索结果预览等,仅加载需要更新的部分内容。 - 实时通信:聊天室、通知系统,实时显示新消息或状态变化。 - 动态地图:拖动地图、缩放时,仅加载当前视图内的地理数据。 **Ajax的...
- **数据分页(Data Paging):** 在 Web 应用程序中,数据分页是非常重要的功能之一,它能够有效地管理大数据集,提供更好的用户体验。ASP.NET 通过 GridView 控件等提供了内置的支持。 - **大事务处理(BulkUpdates...
在实际项目中,你可能会遇到更复杂的需求,如XML Schema验证、XPath查询、XSLT转换等,这些都是在处理XML数据时可能会用到的技术。不断学习和实践,你将能够更好地掌握ASP.NET与XML的结合应用。
BOM API则提供对浏览器窗口、历史记录、定时器等的访问。 2. **jQuery API** jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理、动画制作和Ajax交互。jQuery的核心API包括选择器(用于查找DOM元素)...
在这个项目中,开发者可能创建了一个Web应用程序,允许用户通过浏览器与MongoDB数据库交互,执行查询和数据管理。 【描述】中提到的 "XDOC(mini)" 是XDOC的精简版,XDOC是一个文档生成工具,它提供了一种基于XML的...
ASP是一种基于服务器的技术,它允许开发者在HTML页面中嵌入脚本代码,这些代码在服务器上执行后,生成动态内容发送到客户端浏览器。VBScript是ASP中最常用的脚本语言,它与Visual Basic有密切关系,语法简单易懂。 ...
- **B/S结构**:浏览器/服务器架构,其最大优势在于无需在客户端安装任何软件,仅需一个可联网的浏览器即可访问,实现了真正的跨平台操作,极大地提高了应用的灵活性和可维护性。 - **C/S结构**:客户端/服务器架构...
内容: 1 转换基本数据类型;运算符;计算阶乘; 2 复数类;java的参数传递;自定义形状类;类的加载顺序;方法和变量在继承时的覆盖和隐藏;...java为数据结构中的列表定义了一个接口类...用servlet实现分页查看数据库;