【聚杰网XML】神奇的XML--突破CGI权限的约束
五. 实现排序功能
实现查询功能看起来有点复杂,马上要介绍的排序实现起来也不是很简单的,需要借助XML相关的XSL技术(即可扩展的样式表),与CSS有相似的地方,但更多的是不同。所以说要完整的掌握XML及其相关的技术不是很容易。不过嘛,很多的方法都可以照搬的,不是说"模仿是创作的第一步"吗?嘻嘻,大家尽可以打起精神来。
下面就是排序的源代码:
1. 增加了一个独立的sort.xsl文件,如下:
并增加如下VBScript代码:
在IE5中重新浏览listarticle.html,是不是如图5所示?用鼠标点击下拉列表框改变选择时,可以引起页面按照希望的方式重新排序。

为了修改源代码的方便,简单介绍一下原理:这里的排序实际上就是在内存中把引入的XML文件通过IE内置功能按照XSL定义的转换方式(包括排序方式)转换为一个新的临时XML文档对象,并引起绑定了XML数据的HTML元素刷新显示。XSL文件也是一种特殊的XML文件,在本例中定义了转换的规则。<xsl:template match="……">和</xsl:template>定义模板样式;"match"属性的值指定模板样式的影响范围,特殊值"/"的意义是匹配整个XML文档;<xsl:value-of select="……" />表示取XML元素(由"select"属性指定)的值;<xsl:apply-templates select="……"/>表示引用子样式,"select"指定影响范围。<author>与</author>之间的<xsl:apply-templates />是由于一个"article"元素可能有几个"author"子元素。
六. 结语
这不是一个关于XML的详细教程(那样足够写10本大部头了),XML的很多功能强大的东西都没有提及或深入介绍。但是学完、特别是试用了文章方法后对XML的概念和基本思想应该会有很好的感性认识。
如果大家通过本文提起了学习XML的兴趣,网上有很多的资源可以利用,如www.microsoft.com/msdn、www.w3.org/xml、www.xml.com.cn等等 4




