这篇文章不是介绍xslt的使用方法,关于这类文章,随便在Google,百度一面一搜就是一 打。
我想介绍的是,如果用HttpHandler来管理xslt的。有这样的一个想法,主要是来源于公 司今年推出的一个产品(选才网)中有好几处都采用了xml+xslt来实现的。
采用xslt的优点我就不重复了,而缺点不知道大家有没有和我一样的感受。不太容易配置 。我这里指的的配置,是指,比如说,xslt里面需要引用某个JS,而这个JS的路径根据开发 环境和生产环境的不同,路径也会不同。还有就是子系统一多,系统直接访问就可能会牵扯 到跨域的问题,这么一来还要在相关xslt文件里面加上Domain的脚本,这样一来,每次发布 的时候,都需要来来回回到处配置。我是很讨厌太多配置的,并且还是分布在很多不同的位 置。
所以产生了写这么个handler的想法,主要是用来解决这么4个问题:
1. 能够自动为指定Xslt加上Domain。
2. 能够自动为指定Xslt加上指定的一个或多个JS。
3. 能够给Xslt做一下压缩(去空格,去换行)。
4. 能够控制一下客户端缓存。
那么定义Xml中xml-stylesheet连接地址为:xslt.axd? path=~/Common/XSLT/CV/resume.xslt&include=jquery.js&v=1.6.0.27201 &age=2592000
path: 就是指定的xslt文件的路径。
include: 需要引用的JS的名称。多个用半角逗号隔开。这里我没用用全路径。考虑到怕 JS一多,路径一长,导致url超过限制了。
v: 这个主要是用于强制更新客户端缓存而用的。
age: 这个就是指定客户端缓存的生命期。以秒为单位。加入这个主要是考虑到,每个 XSLT根据用途的不同,可能缓存的时间也是不同的。
那么介绍就这么多, 接下来就直接贴代码了。