XML+XSL 與 HTML 兩種方案的結(jié)合
根據(jù)我的使用心得。XML+XSL 的方式,優(yōu)點(diǎn)在于:數(shù)據(jù)層跟展現(xiàn)分開了。XML定義數(shù)據(jù),XSL定義顯示。比較明顯的缺點(diǎn)就是 1、有些用戶在裝了某些XML編輯器后,客戶端解析XML+XSL就會(huì)出問(wèn)題,用戶直接看到的就是XML代碼,不時(shí)總有人抱怨自己沒(méi)法看CSDN的論壇了。原因基本上都是這些。(這個(gè)問(wèn)題難以克服)2、進(jìn)行復(fù)雜邏輯運(yùn)算XML+XSL 比較差,一些復(fù)雜的邏輯運(yùn)算會(huì)占用客戶端很大的資源。比如在目前CSDN 論壇基礎(chǔ)上實(shí)現(xiàn)支持UBB的功能。就很復(fù)雜。如果這個(gè)UBB的展現(xiàn)運(yùn)算是客戶端進(jìn)行的,是任何人都無(wú)法忍受的。3、Google 不支持對(duì)XML 文件的檢索。
使用Html的方式,優(yōu)點(diǎn)很簡(jiǎn)單,給的用戶就是需要展現(xiàn)的東西。缺點(diǎn)就是提取有效數(shù)據(jù)比較復(fù)雜。
今天在跟 “風(fēng)之子” 交流內(nèi)容、新聞系統(tǒng)如何展現(xiàn)的時(shí)候,我突然想起,我們可以同時(shí)利用XML+XSL和HTML的優(yōu)點(diǎn)來(lái)做。具體做法就是把一些復(fù)雜的邏輯運(yùn)算進(jìn)行服務(wù)器段轉(zhuǎn)換,把這些轉(zhuǎn)換為HTML代碼,然后把這些轉(zhuǎn)換后的內(nèi)容保存到XML數(shù)據(jù)的 <![CDATA[ ]]> 節(jié)。而展現(xiàn)給用戶的是XML+XSL方式,但是這種方式客戶端沒(méi)有復(fù)雜的邏輯運(yùn)算。用戶端解析的壓力不是很大,一些復(fù)雜的功能這樣就可以實(shí)現(xiàn),比如在CSDN論壇上支持UBB等復(fù)雜功能。
以前我一直反對(duì)在CSDN論壇支持UBB,一個(gè)重要原因就是會(huì)給客戶段增加壓力。現(xiàn)在可以通過(guò)上面提到的整合進(jìn)HTML的XML+XSL 方案應(yīng)對(duì)這個(gè)問(wèn)題。下一代的CSDN 論壇就可以這么做了。不過(guò)另外一個(gè)原因是,技術(shù)交流的BBS,有必要做那么花哨么??尤其是很多人在自己的簽名中,增加很大的字體,很特殊的圖片,會(huì)不會(huì)帶來(lái)跟多的問(wèn)題??
HTML中整合進(jìn)XML的方式,就是數(shù)據(jù)島的方式,這個(gè)的應(yīng)用范例可以看大富翁論壇。那就是一個(gè)很有代表性的應(yīng)用數(shù)據(jù)島的方式。打開某個(gè)CSDN 論壇,左邊的樹會(huì)自動(dòng)同步功能,也是用的數(shù)據(jù)島記錄需要同步到那個(gè)節(jié)點(diǎn)的數(shù)據(jù)。
另:Shtml 的方式,其實(shí)就是支持Include 的Html。 你可以在Shtml中使用Include 包含一些htm文件。
百度可以找到CSDN論壇的XML帖子:
http://www.baidu.com/baidu?lm=0&si=&rn=10&ie=gb2312&ct=0&word=site%3Aexpert%2Ecsdn%2Enet+%BD%AF%EA%C9&cl=2
相關(guān)文章
純JS實(shí)現(xiàn)出生日期[年月日]下拉菜單效果
這篇文章主要介紹了基于純JS實(shí)現(xiàn)出生日期[年月日]下拉菜單效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2018-06-06基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果
這篇文章主要為大家詳細(xì)介紹了基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11javascript代碼編寫需要注意的7個(gè)小細(xì)節(jié)小結(jié)
每種語(yǔ)言都有它特別的地方,對(duì)于JavaScript來(lái)說(shuō),使用var就可以聲明任意類型的變量,這門腳本語(yǔ)言看起來(lái)很簡(jiǎn)單,然而想要寫出優(yōu)雅的代碼卻是需要不斷積累經(jīng)驗(yàn)的。本文利列舉了JavaScript初學(xué)者應(yīng)該注意的七個(gè)細(xì)節(jié),與大家分享。2011-09-09Javascript實(shí)現(xiàn)秒表倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)秒表倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Ajax 文件上傳進(jìn)度監(jiān)聽之upload.onprogress案例詳解
這篇文章主要介紹了Ajax 文件上傳進(jìn)度監(jiān)聽之upload.onprogress案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09js/jquery解析json和數(shù)組格式的方法詳解
本篇文章主要是對(duì)js/jquery解析json和數(shù)組格式的方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01JavaScript實(shí)現(xiàn)的仿新浪微博原生態(tài)輸入字?jǐn)?shù)即時(shí)檢查功能【兼容IE6】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的仿新浪微博原生態(tài)輸入字?jǐn)?shù)即時(shí)檢查功能,涉及javascript事件響應(yīng)及字符串的遍歷、轉(zhuǎn)換、判斷等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09