xml创建可排序分页的数据显示页面xml技巧.doc

xml创建可排序分页的数据显示页面xml技巧.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在Web研发中,我们经常会遇见分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件非常轻松的事情,比如:ASP、PHP、JSP等。然而,如果要在客户端显示多条记录并且排序是一件非常令人头疼的事情。下面,我们利用Extensible?Markup?Language(XML,可扩展标记语言)和Extensible?Stylesheet?Language?Transformations(XSLT,可扩展样式单语言转换),并结合XML?Path?Language(XPath,XML路径语言),只需要编写简单的代码,就可轻松实现。这种方法避免了和服务器频繁打交道的过程,节省了数据显示的时间,浏览者无须等待就能看到结果,也能减少服务器的负担。另外。由于XML和XSLT技术,使数据存储和数据显示分离,还能让我们的代码能够重复利用,大大减轻了程式员编写代码的负担。? ???下面,我们一步一步地来实现我们的功能。? ??? ???首先:创建XSLT? ??? ???XSLT样式单的第一行标明该XML所遵照的XML规范版本,然后是标明该样式单使用的名称空间,这里,我们以XSL规范的正式版本来进行编写,而不采用XSL的草案的写法:? ???XSL:STYLESHEETNBSP;XMLNS:XSL=HTTP: WD-xsl? TR ? ???注意:两者在功能和写法上有非常大的差异。? ????xml?version=1.0?? ???XSL:STYLESHEETNBSP;XMLNS:XSL=HTTP: Transform? XSL 1999? ???接下来,我们定义XSLT里的模板标记:? ??? ???XSL:TEMPLATENBSP;MATCH= ?? ???XSL:APPLY-TEMPLATESNBSP;SELECT= 客户关系表? /? ???? ??? ???XSL:TEMPLATENBSP;MATCH= 客户关系表?? ??? ???我们把要显示的样式写到模板里面。我们使用HTML的数据岛来存放我们的数据,这些数据能利用SQL?Server?2000的XML查询来得到,对于不支持XML的数据库,我们能自己编写组件把数据转换成XML格式,然后在放到数据岛里。在HTML里使用数据岛有两种方法:? ???一是直接嵌入数据,如下所示:? ???XMLNBSP;ID=DATA? ???客户关系表? ???客户每条数据? ???? ???? ???二是通过SRC属性引用外部文件,如下所示:? ???XMLNBSP;ID=DATANBSP;SRC=DATA.XML? ???要使用数据岛里的数据,必须通过id名来引用他,当然,由于XSLT文件也是XML格式文件的一种,也能通过这种方法来实现:? ???XMLNBSP;ID=STYLENBSP;SRC=STYLE.XSL? ???我们在页面中加入标记DIV来显示我们的转换的结果:? ???DIVNBSP;ID=DISPLAYAREA? ???使用XSLT转换数据岛里的数据,采用DOMDocument的transNode()方法,并把结果通过DIV的innerHTML属性来展现出来:? ???DisplayArea.innerHTML?=?Data.transformNode(Style.DocumentElement)? ??? ???第二步:实现客户端排序的功能? ??? ???我们先设定一个默认的排序字段,这里选择“序号”作为默认的排序关键字,并且是按递增的顺序排列,在XSLT里加入sort标记:? ???XSL:FOR-EACHNBSP;SELECT=客户? ???XSL:SORTNBSP;SELECT=序号NBSP;ORDER=DESCENDINGNBSP;DATA-TYPE=NUMBER /? ???? ???接下来,我们为样式表增加排序的功能,以便能响应用户的操作,我们在表头的每个列上添加onClick事件,该事件调用sort()函数,允许用户通过单击该表头来进行对该列的排序。? ???TDNBSP;ONCLICK=SORT(序号)序号? ???Sort()函数的语句如下所示:? ???Function?Sort(strField)? ??? ???Dim?sortField? ???Dim?sortOrderAttribute? ??? ??? 得到原来排序字段的属性值? ???Set?sortField?=?Style.XMLDocument.selectSingleNode(//xsl:sort/@select)? ??? ??? 得到原来排序的顺序属性值?

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档