摘 要:論文研究了基于三層結(jié)構(gòu)的信息發(fā)布系統(tǒng)的系統(tǒng)結(jié)構(gòu)、功能模塊、代碼模型等,并且結(jié)合 XML與XSLT技術(shù)特點(diǎn),按照數(shù)據(jù)庫的設(shè)計(jì)直接形成XML文檔,接著依據(jù)XML文檔的原型以及代碼模型的要求制定XSLT轉(zhuǎn)換文件,然后書寫控制轉(zhuǎn)換的程序代碼,源代碼文件就可以自動(dòng)生成了。從長(zhǎng)遠(yuǎn)來看,XML和XSLT在程序自動(dòng)化生成方面的應(yīng)用,是一種新技術(shù),以后將對(duì)軟件自動(dòng)化技術(shù)方面產(chǎn)生很好的發(fā)展。
關(guān)鍵詞:三層結(jié)構(gòu);XML與XSLT技術(shù);自動(dòng)化技術(shù)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:The paper-based system to study the structure,function modules,the three-tier structure of the code model information distribution system,etc.,and technical features combined with XML and XSLT,XML documents directly formed in accordance with the database design,prototype,and then according to the requirements of the XML document model code develop XSLT transformation file and then write code to control the conversion process,the source code files can be automatically generated.In the long run,XML and XSLT to generate in terms of process automation,is a new technology,subsequent to the good development of software automation technology.
Keywords:three-tier structure;XML and XSLT technologies;automation technology
1 引言(Introduction)
最近幾年,計(jì)算機(jī)互聯(lián)網(wǎng)發(fā)展迅猛,技術(shù)要求越來越高,單純通過WEB瀏覽器獲取靜態(tài)信息已遠(yuǎn)遠(yuǎn)滿足不了我們信息時(shí)代的步伐,只有在實(shí)現(xiàn)WEB與數(shù)據(jù)庫互聯(lián)的情況下,我們才能通過網(wǎng)絡(luò)登錄論壇發(fā)表意見建議、查詢數(shù)據(jù)信息、上網(wǎng)購物等。三層WEB結(jié)構(gòu)B/S(瀏覽器/服務(wù)器)模式的數(shù)據(jù)庫體系,它是目前被較多采用的數(shù)據(jù)庫體系[1],它的前面部分是使用客戶機(jī)的瀏覽器技術(shù),通過服務(wù)器還有中間件訪問數(shù)據(jù)庫,中間件的通信停留在WEB 服務(wù)器和數(shù)據(jù)庫服務(wù)器之間,并且提供應(yīng)用程序服務(wù)。數(shù)據(jù)庫服務(wù)器管理數(shù)據(jù)庫中的數(shù)據(jù),而客戶發(fā)出HTTP請(qǐng)求,WEB服務(wù)器則以頁面的形式向用戶輸出查詢結(jié)果。
利用WEB提供的各種技術(shù)手段在Internet上進(jìn)行發(fā)布信息就是基于XML的WEB信息發(fā)布技術(shù),這個(gè)技術(shù)主要是管理其表現(xiàn)形式的本身以及信息內(nèi)容,其中包括網(wǎng)頁的WEB頁面結(jié)構(gòu),頁面中的信息還有對(duì)信息的修改、刪除、增添、提交、發(fā)布等,以及對(duì)發(fā)布后的信息內(nèi)容進(jìn)行管理、更新和維護(hù)[2]。綜上原因,提高基于WEB的數(shù)據(jù)庫應(yīng)用開發(fā)速度和精確性的研究就有非常實(shí)用的應(yīng)用價(jià)值以及推廣意義。為了解決不斷增加的瀏覽器/服務(wù)器模式多層數(shù)據(jù)庫應(yīng)用系統(tǒng)的需求和瀏覽器/服務(wù)器模式多層數(shù)據(jù)庫應(yīng)用系統(tǒng)落后的開發(fā)方式之間的沖突,實(shí)現(xiàn)它的自動(dòng)生成值得期待,實(shí)用性強(qiáng)。
2 XML技術(shù)的概述(Overview of XML technology)
近年來,隨著WEB的應(yīng)用越來越廣泛與深入,復(fù)雜的網(wǎng)絡(luò)表現(xiàn)形式,語法過于簡(jiǎn)單的HTML已經(jīng)不夠用了,不斷增長(zhǎng)的應(yīng)用需求,HTML已難以滿足。SGML(標(biāo)準(zhǔn)通用標(biāo)示語言)是一種元標(biāo)示語言,功能強(qiáng)大,它可以設(shè)計(jì)自己的標(biāo)識(shí)語言,也能非常容易的描述數(shù)據(jù),但是由于其復(fù)雜程度較高,不便使用。鑒于這種情況,XML就登場(chǎng)了,它是WEB標(biāo)準(zhǔn)化組織W3C建議使用的一種精簡(jiǎn)的SGML版本。跟HTML一樣,XML由SGML語言衍伸而來,它把SGML語言復(fù)雜程度降低了20%,只保留了80%的功能,從而簡(jiǎn)化了SGML語言。雖然和HTML語言都是屬于SGML語言的一種子集,但HTML語言欠缺的伸縮性與靈活性,XML卻具備了。相對(duì)于HTML語言,XML語言有了非常大的提高,它既能夠讓編輯自行定義該標(biāo)識(shí)和屬性名,還能夠包含描述法,從而使得應(yīng)用程序?qū)ξ募M(jìn)行結(jié)構(gòu)嵌套可以復(fù)雜到任何程度[3]。另外,XML和SGML都是一種元語言,但 HTML卻不是。
現(xiàn)今,XML語言的應(yīng)用領(lǐng)域越來越廣,它已成為計(jì)算機(jī)領(lǐng)域中較為熱門的一項(xiàng)技術(shù)。
2.1 數(shù)據(jù)信息的描述
XML文檔能夠利用任意文本處理工具來建立,同時(shí)XML可以描述文本數(shù)據(jù)、圖形圖像、矢量圖形、動(dòng)畫以及擴(kuò)展到其他數(shù)據(jù)類型。
2.2 做好數(shù)據(jù)交換的基礎(chǔ)
為數(shù)據(jù)交換技術(shù)發(fā)展打下堅(jiān)實(shí)基礎(chǔ)的就是XML元數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)。元數(shù)據(jù)層可以通過用戶自己建立一種在企業(yè)內(nèi)部甚至企業(yè)之間都保存一致的數(shù)據(jù),所以應(yīng)用程序不需要了解數(shù)據(jù)來源就可以理解數(shù)據(jù),只需要讀取自我解釋的XML文檔就行。另外,它簡(jiǎn)化了網(wǎng)絡(luò)搜索信息的過程。
2.3 作為WEB的通用媒介
XML的用處比較多,在沒有XML之前,信息只能通過簡(jiǎn)單短小的文件傳輸, XML能夠精確描述信息,可以更智能化地處理瀏覽器這樣的應(yīng)用程序信息。智能化的優(yōu)點(diǎn)把XML推到WEB上通用媒介的位置。
3 利用XSLT來定義代碼模板設(shè)計(jì)(Use XSLT to define a code template design)endprint
XSLT是對(duì)XML文檔進(jìn)行轉(zhuǎn)換的一種語言。XML文檔能夠通過XSLT對(duì)數(shù)據(jù)進(jìn)行過濾、排序、編輯、計(jì)算等操作轉(zhuǎn)換為其他結(jié)構(gòu)(包括XML結(jié)構(gòu))的文檔,譬如HTML文檔、純文檔等等。在XSLT把數(shù)據(jù)庫表結(jié)構(gòu)轉(zhuǎn)換為XML文檔之后,系統(tǒng)所需的代碼模板能夠使用XSLT技術(shù)以及XML文檔結(jié)構(gòu)定義而來,最后系統(tǒng)所需目標(biāo)源代碼,能夠使用上述的代碼模板自動(dòng)轉(zhuǎn)換成XML文檔輸出。
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
一個(gè)XML文檔可以使用多個(gè)模板來輸出,所以客戶端能夠十分便捷地在原有的內(nèi)容基礎(chǔ)上構(gòu)造適合自己的訪問站點(diǎn),如前面所介紹那樣,通過“內(nèi)容(XML)+顯示模板(XSL)=內(nèi)容發(fā)布”就能夠使用高效準(zhǔn)確的辦法完成。在特殊需要的情況下,我們可以讓站點(diǎn)維護(hù)人員在使用模板之外,能夠十分靈活地定制各種特殊的不同需求的顯示需要。系統(tǒng)能夠提供一個(gè)在線頁面編輯的子系統(tǒng),這個(gè)子系統(tǒng)的顯示效果,可以是顯而易見的,可以是用戶端直接編輯文檔的。這個(gè)子系統(tǒng)的功能可以滿足絕大部分用戶端編輯文檔的需求,而且它的操作也非常簡(jiǎn)單,非常容易使用。用戶端可以憑著日常辦公軟件操作的經(jīng)驗(yàn),即使不懂或不去了解HTML語言的格式也可使用,這樣一來,就可以大大降低用戶端的操作技能要求,從而大大降低維護(hù)成本。這個(gè)在線頁面編輯子系統(tǒng)本身也是基于Web的,用Javescript編寫而成。
5 結(jié)論(Conclusion)
如何提高基于WEB的數(shù)據(jù)庫應(yīng)用開發(fā)速度和精確性,對(duì)于很多系統(tǒng)開發(fā)企業(yè)與程序員來說是個(gè)很有挑戰(zhàn)性的問題。論文在深入研究XML與XSLT技術(shù)的基礎(chǔ)上,設(shè)計(jì)與實(shí)現(xiàn)了動(dòng)態(tài)網(wǎng)頁自動(dòng)生成系統(tǒng)。在代碼模型設(shè)計(jì)的基礎(chǔ)上的設(shè)計(jì)實(shí)現(xiàn)了XSL轉(zhuǎn)換文件,它主要解決了與實(shí)現(xiàn)業(yè)務(wù)和業(yè)務(wù)層的兩個(gè)相關(guān)的部分,實(shí)體類和操作類,還有表示層的具體實(shí)現(xiàn)。
參考文獻(xiàn)(References)
[1] 孫廣芝.企業(yè)內(nèi)容管理理論與應(yīng)用評(píng)述[J].情報(bào)雜志,2011(12):97-100.
[2] 李浩光.基于XML/XSLT信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2009(9):2157-2158.
[3] 張衛(wèi)云.基于Web的內(nèi)容管理系統(tǒng)的研究與開發(fā)[D].華北電力大學(xué),2004.
作者簡(jiǎn)介:
李浩光(1981-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用,電子商務(wù),軟件工程,網(wǎng)絡(luò)安全.endprint
XSLT是對(duì)XML文檔進(jìn)行轉(zhuǎn)換的一種語言。XML文檔能夠通過XSLT對(duì)數(shù)據(jù)進(jìn)行過濾、排序、編輯、計(jì)算等操作轉(zhuǎn)換為其他結(jié)構(gòu)(包括XML結(jié)構(gòu))的文檔,譬如HTML文檔、純文檔等等。在XSLT把數(shù)據(jù)庫表結(jié)構(gòu)轉(zhuǎn)換為XML文檔之后,系統(tǒng)所需的代碼模板能夠使用XSLT技術(shù)以及XML文檔結(jié)構(gòu)定義而來,最后系統(tǒng)所需目標(biāo)源代碼,能夠使用上述的代碼模板自動(dòng)轉(zhuǎn)換成XML文檔輸出。
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
一個(gè)XML文檔可以使用多個(gè)模板來輸出,所以客戶端能夠十分便捷地在原有的內(nèi)容基礎(chǔ)上構(gòu)造適合自己的訪問站點(diǎn),如前面所介紹那樣,通過“內(nèi)容(XML)+顯示模板(XSL)=內(nèi)容發(fā)布”就能夠使用高效準(zhǔn)確的辦法完成。在特殊需要的情況下,我們可以讓站點(diǎn)維護(hù)人員在使用模板之外,能夠十分靈活地定制各種特殊的不同需求的顯示需要。系統(tǒng)能夠提供一個(gè)在線頁面編輯的子系統(tǒng),這個(gè)子系統(tǒng)的顯示效果,可以是顯而易見的,可以是用戶端直接編輯文檔的。這個(gè)子系統(tǒng)的功能可以滿足絕大部分用戶端編輯文檔的需求,而且它的操作也非常簡(jiǎn)單,非常容易使用。用戶端可以憑著日常辦公軟件操作的經(jīng)驗(yàn),即使不懂或不去了解HTML語言的格式也可使用,這樣一來,就可以大大降低用戶端的操作技能要求,從而大大降低維護(hù)成本。這個(gè)在線頁面編輯子系統(tǒng)本身也是基于Web的,用Javescript編寫而成。
5 結(jié)論(Conclusion)
如何提高基于WEB的數(shù)據(jù)庫應(yīng)用開發(fā)速度和精確性,對(duì)于很多系統(tǒng)開發(fā)企業(yè)與程序員來說是個(gè)很有挑戰(zhàn)性的問題。論文在深入研究XML與XSLT技術(shù)的基礎(chǔ)上,設(shè)計(jì)與實(shí)現(xiàn)了動(dòng)態(tài)網(wǎng)頁自動(dòng)生成系統(tǒng)。在代碼模型設(shè)計(jì)的基礎(chǔ)上的設(shè)計(jì)實(shí)現(xiàn)了XSL轉(zhuǎn)換文件,它主要解決了與實(shí)現(xiàn)業(yè)務(wù)和業(yè)務(wù)層的兩個(gè)相關(guān)的部分,實(shí)體類和操作類,還有表示層的具體實(shí)現(xiàn)。
參考文獻(xiàn)(References)
[1] 孫廣芝.企業(yè)內(nèi)容管理理論與應(yīng)用評(píng)述[J].情報(bào)雜志,2011(12):97-100.
[2] 李浩光.基于XML/XSLT信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2009(9):2157-2158.
[3] 張衛(wèi)云.基于Web的內(nèi)容管理系統(tǒng)的研究與開發(fā)[D].華北電力大學(xué),2004.
作者簡(jiǎn)介:
李浩光(1981-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用,電子商務(wù),軟件工程,網(wǎng)絡(luò)安全.endprint
XSLT是對(duì)XML文檔進(jìn)行轉(zhuǎn)換的一種語言。XML文檔能夠通過XSLT對(duì)數(shù)據(jù)進(jìn)行過濾、排序、編輯、計(jì)算等操作轉(zhuǎn)換為其他結(jié)構(gòu)(包括XML結(jié)構(gòu))的文檔,譬如HTML文檔、純文檔等等。在XSLT把數(shù)據(jù)庫表結(jié)構(gòu)轉(zhuǎn)換為XML文檔之后,系統(tǒng)所需的代碼模板能夠使用XSLT技術(shù)以及XML文檔結(jié)構(gòu)定義而來,最后系統(tǒng)所需目標(biāo)源代碼,能夠使用上述的代碼模板自動(dòng)轉(zhuǎn)換成XML文檔輸出。
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
一個(gè)XML文檔可以使用多個(gè)模板來輸出,所以客戶端能夠十分便捷地在原有的內(nèi)容基礎(chǔ)上構(gòu)造適合自己的訪問站點(diǎn),如前面所介紹那樣,通過“內(nèi)容(XML)+顯示模板(XSL)=內(nèi)容發(fā)布”就能夠使用高效準(zhǔn)確的辦法完成。在特殊需要的情況下,我們可以讓站點(diǎn)維護(hù)人員在使用模板之外,能夠十分靈活地定制各種特殊的不同需求的顯示需要。系統(tǒng)能夠提供一個(gè)在線頁面編輯的子系統(tǒng),這個(gè)子系統(tǒng)的顯示效果,可以是顯而易見的,可以是用戶端直接編輯文檔的。這個(gè)子系統(tǒng)的功能可以滿足絕大部分用戶端編輯文檔的需求,而且它的操作也非常簡(jiǎn)單,非常容易使用。用戶端可以憑著日常辦公軟件操作的經(jīng)驗(yàn),即使不懂或不去了解HTML語言的格式也可使用,這樣一來,就可以大大降低用戶端的操作技能要求,從而大大降低維護(hù)成本。這個(gè)在線頁面編輯子系統(tǒng)本身也是基于Web的,用Javescript編寫而成。
5 結(jié)論(Conclusion)
如何提高基于WEB的數(shù)據(jù)庫應(yīng)用開發(fā)速度和精確性,對(duì)于很多系統(tǒng)開發(fā)企業(yè)與程序員來說是個(gè)很有挑戰(zhàn)性的問題。論文在深入研究XML與XSLT技術(shù)的基礎(chǔ)上,設(shè)計(jì)與實(shí)現(xiàn)了動(dòng)態(tài)網(wǎng)頁自動(dòng)生成系統(tǒng)。在代碼模型設(shè)計(jì)的基礎(chǔ)上的設(shè)計(jì)實(shí)現(xiàn)了XSL轉(zhuǎn)換文件,它主要解決了與實(shí)現(xiàn)業(yè)務(wù)和業(yè)務(wù)層的兩個(gè)相關(guān)的部分,實(shí)體類和操作類,還有表示層的具體實(shí)現(xiàn)。
參考文獻(xiàn)(References)
[1] 孫廣芝.企業(yè)內(nèi)容管理理論與應(yīng)用評(píng)述[J].情報(bào)雜志,2011(12):97-100.
[2] 李浩光.基于XML/XSLT信息發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2009(9):2157-2158.
[3] 張衛(wèi)云.基于Web的內(nèi)容管理系統(tǒng)的研究與開發(fā)[D].華北電力大學(xué),2004.
作者簡(jiǎn)介:
李浩光(1981-),男,碩士,講師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)用,電子商務(wù),軟件工程,網(wǎng)絡(luò)安全.endprint