用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮
2024-09-06 20:00:51
供稿:網(wǎng)友
最近開始研究 XML+XSLT+CSS 構(gòu)造網(wǎng)頁(yè)..又拿自己的站的一部分當(dāng)成實(shí)驗(yàn)品..
因?yàn)槲野堰@個(gè)站的實(shí)驗(yàn)室的東西扔在別一個(gè)服務(wù)器上..可又懶得再做個(gè)首頁(yè),,,就同步了這邊的 RSS.當(dāng)首頁(yè)
可沒關(guān)聯(lián)的樣式的XML怎樣看怎樣不喜歡....
直接關(guān)聯(lián) CSS 能把 XML 能變成像樣一點(diǎn)..雖然不是最終目的..可還是要學(xué)習(xí)一下..因?yàn)椴皇撬械臑g覽器都支持XSLT
我能用到的瀏覽器好像都能認(rèn)識(shí)關(guān)聯(lián)的 CSS ~可惜單單 CSS 能做的事太少了. 還是xslt好..
寫直接用于 XML 的 CSS 跟平時(shí)寫的 CSS 基本沒什么差別...只是元素名不同了.難度高高...寫 HTML 的自由沒有了...也不可以因?yàn)橄胍硞€(gè)效果而亂加元素...
好像我的水平?jīng)Q定了我只能寫出定義得比文本好看一下下的CSS, 接著.看例子. 跳掉..研究 XSLT 了
xslt 能做的事很多..xml 終于可以直接當(dāng)網(wǎng)頁(yè)用了..
打開一份別人寫好的 xslt 發(fā)現(xiàn)....好多熟悉的東東..........
對(duì)于應(yīng)用在RSS..我們對(duì)XLST只要知道
xsl:for-each select="rss/channel/item"
xsl:value-of select="..."
disable-output-escaping="yes"
一個(gè)循環(huán) 一個(gè)選擇節(jié)點(diǎn)....一個(gè)設(shè)置禁止輸出轉(zhuǎn)義時(shí)
接著復(fù)制了我程序用的模板文件.....把 smarty 的標(biāo)簽直接換成 xsl 的..太像了..我連 html 都不用寫..一路復(fù)制..
等網(wǎng)站的核心程序?qū)懲旰笪乙欢ㄒ獓L試用xslt直接做smarty模板...
接著整理出一個(gè)單獨(dú)的CSS 本以為就這樣完了.........
-____________-!! 每次做網(wǎng)頁(yè)時(shí)總會(huì)有些瀏覽器會(huì)鬧鬧情緒...這回是 moz 內(nèi)核的....
我需要顯示 CDATA 里的 HTML ,讓他更像個(gè)網(wǎng)頁(yè),
可搜索跟我說 Mozilla 的 Transformiix 不支持 disable-output-escaping
我記得 feedburner 能在 Firefox 顯示 CDATA 里的 HTML 代碼~
看了他的 xslt 跟搜索的結(jié)果發(fā)現(xiàn).......基本都是用JS的innerHTML把內(nèi)容再寫進(jìn)一次就能顯示........
原因我也不清楚.....學(xué)著大家方法.把 disable-output-escaping 勉強(qiáng)解決了.........
寫 JS 時(shí)又發(fā)現(xiàn)...JS 有些怪怪的...比如....直接寫在 xslt 里跟外鏈有些不同..
本想就一個(gè)頁(yè)..一個(gè) function 亂寫能運(yùn)行就行....結(jié)果又發(fā)現(xiàn)N多奇怪的問題..暫時(shí)也沒時(shí)間去研究他....等有空再寫些測(cè)試...
說了這樣多的廢話..
大家看看我的學(xué)習(xí)的結(jié)果, http://lab.loaoao.com
擴(kuò)展閱讀
http://www.w3.org/TR/xslt/
http://www.xml.org.cn/list.asp?boardid=8
www.w3schools.com/xsl/
hedong.3322.org/archives/000044.html