用XML创建可排序、分页的数据显示页面

发表于:2007-06-30来源:作者:点击数: 标签:
在Web 开发 中,我们经常会遇到分页显示和排序数据记录集的情况,这在 服务器 端使用服务器端的代码和 数据库 技术是件很轻松的事情,比如:ASP、 PHP 、JSP等。然而,如果要在客户端显示多条记录并且排序是一件很令人头疼的事情。下面,我们利用Extensible
     在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的草案的写法:
  
   注意:两者在功能和写法上有很大的差异。
  
  
   接下来,我们定义XSLT里的模板标记:
  
  
  
  

  
  
  
   我们把要显示的样式写到模板里面。我们使用HTML的数据岛来存放我们的数据,这些数据可以利用SQL Server 2000的XML查询来得到,对于不支持XML的数据库,我们可以自己编写组件把数据转换成XML格式,然后在放到数据岛里。在HTML里使用数据岛有两种方法:
   一是直接嵌入数据,如下所示:
  
   <客户关系表>
   <客户>每条数据
  
  

   二是通过SRC属性引用外部文件,如下所示:
  
   要使用数据岛里的数据,必须通过id名来引用它,当然,由于XSLT文件也是XML格式文件的一种,也可以通过这种方法来实现:
  
   我们在页面中加入标记DIV来显示我们的转换的结果:
  

原文转自:http://www.ltesting.net