這篇文章不是介紹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根據用途的不同,可能緩存的時間也是不同的。
那麼介紹就這麼多, 接下來就直接貼代碼了。