我们在使用XSLT进行XML转换的时候,经常遇到按XML日期类型的数据进行排序的情况,按照默认的排序规则,很难实现正确的排序效果。虽然最新的MsXML3 SP4提供了3种数据类型的排序方式:
select = string-expression data-type = { "text" | "number" | Qname } order = { "ascending" | "descending" } /> 但好像仍不能满足我们的需要,下面我们就介绍日期类型数据的排序方法。我们的排序方法是基于下面语句的返回值为true的理论的: alert(Date.parse("2004/08/09")==Date.parse("2004/8/9")) 好了,下面就是我们的xsl文件: SortXML.xsl xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="msxsl user"> function xmlDateTime(nodelist) { return Date.parse(nodelist.replace(/-/g,"/")); }
SortXML.xml
标题
修改时间

