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ì)出問題,用戶直接看到的就是XML代碼,不時(shí)總有人抱怨自己沒法看CSDN的論壇了。原因基本上都是這些。(這個(gè)問題難以克服)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)行的,是任何人都無法忍受的。3、Google 不支持對XML 文件的檢索。
使用Html的方式,優(yōu)點(diǎ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)來做。具體做法就是把一些復(fù)雜的邏輯運(yùn)算進(jìn)行服務(wù)器段轉(zhuǎn)換,把這些轉(zhuǎn)換為HTML代碼,然后把這些轉(zhuǎn)換后的內(nèi)容保存到XML數(shù)據(jù)的 <![CDATA[ ]]> 節(jié)。而展現(xiàn)給用戶的是XML+XSL方式,但是這種方式客戶端沒有復(fù)雜的邏輯運(yùn)算。用戶端解析的壓力不是很大,一些復(fù)雜的功能這樣就可以實(shí)現(xiàn),比如在CSDN論壇上支持UBB等復(fù)雜功能。
以前我一直反對在CSDN論壇支持UBB,一個(gè)重要原因就是會(huì)給客戶段增加壓力?,F(xiàn)在可以通過上面提到的整合進(jìn)HTML的XML+XSL 方案應(yīng)對這個(gè)問題。下一代的CSDN 論壇就可以這么做了。不過另外一個(gè)原因是,技術(shù)交流的BBS,有必要做那么花哨么??尤其是很多人在自己的簽名中,增加很大的字體,很特殊的圖片,會(huì)不會(huì)帶來跟多的問題??
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)文章
JavaScript復(fù)制內(nèi)容到剪貼板的兩種常用方法
最近一個(gè)活動(dòng)頁面中有一個(gè)小需求,用戶點(diǎn)擊或者長按就可以復(fù)制內(nèi)容到剪貼板,記錄一下實(shí)現(xiàn)過程和遇到的坑,需要的朋友可以參考下2018-02-02
js?promise?中使用?setTimeout?實(shí)現(xiàn)暫停執(zhí)行的效果
這篇文章主要介紹了js?promise?中使用?setTimeout?實(shí)現(xiàn)暫停執(zhí)行的,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
詳解JavaScript中if語句優(yōu)化和部分語法糖小技巧推薦
在前端日常開發(fā)過程中,if?else判斷語句使用的次數(shù)應(yīng)該是比較頻繁的了,一些較為復(fù)雜的場景,可能會(huì)用到很多判斷,本文給大家介紹JavaScript中if語句優(yōu)化和部分語法糖小技巧,感興趣的朋友一起看看吧2022-05-05
Javascript的并行運(yùn)算實(shí)現(xiàn)代碼
隨著多核cpu的普級,并發(fā)/并行多線程運(yùn)算在主流的編程語言越來越流行,而在目前Javascript實(shí)現(xiàn)中還看不到在語言方面支持多線程,現(xiàn)在Javascript如此流行,真希望今后會(huì)在語言的層面有很大的變化.2010-11-11

