科技資料文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
科技資料文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要 在論文寫作及科學(xué)研究的過(guò)程中,參考文獻(xiàn)的運(yùn)用是必不可少的。在網(wǎng)絡(luò)迅速發(fā)展的今天,能夠獲得的參考文獻(xiàn)數(shù)量與過(guò)去不可同日而語(yǔ)。如此眾多的資料為研究工作者提供了巨大的方便,能夠保證當(dāng)前的研究工作站在最前沿的科技基礎(chǔ)上,同時(shí)避免的大量重復(fù)低效能的工作,具有十分重要的意義。科技資料文獻(xiàn)管理系統(tǒng)就是一種使用戶(尤其是科研工作者)可以對(duì)各種類型的文獻(xiàn)信息進(jìn)行有效收集、管理檢索以及按照不同的格式進(jìn)行輸出的工具。該系統(tǒng)解決了科技工作者平時(shí)大量文獻(xiàn)資料不方便查找、統(tǒng)計(jì)、標(biāo)注和管理的難題,同時(shí)免去了在編寫文獻(xiàn)過(guò)程中花在規(guī)范文獻(xiàn)格式上的大量時(shí)間。通過(guò)該系統(tǒng),可以對(duì)已閱讀的文獻(xiàn)添加備注,關(guān)鍵字。并可通過(guò)自行添加的備注和關(guān)鍵字進(jìn)行相應(yīng)文獻(xiàn)的查詢和修改。它實(shí)現(xiàn)了對(duì)科技文獻(xiàn)信息的錄入、查詢、排序、刪除、添加和參考文獻(xiàn)的自動(dòng)生成等基本功能。系統(tǒng)能夠有效的幫助使用者高效、便捷的管理大量的各種科技文獻(xiàn)。同時(shí)可以根據(jù)用戶的需要設(shè)定文獻(xiàn)格式的自定義模板,準(zhǔn)確的進(jìn)行文獻(xiàn)的自動(dòng)生成。 本文相對(duì)于其它文獻(xiàn)管理系統(tǒng)的創(chuàng)新點(diǎn)在于,自動(dòng)生成文獻(xiàn)的過(guò)程中,添加了PDF書簽功能,使閱讀文獻(xiàn)更加方便。同時(shí)利用MathML(Mathematical Markup Language)實(shí)現(xiàn)公式的輸出,它可以幫助我們?cè)赪eb以及字處理器中顯示、操作和共享數(shù)學(xué)表達(dá)式。關(guān)鍵詞: 科技文獻(xiàn);文獻(xiàn)管理系統(tǒng);資料管理 IAbstract AbstractThe use of references is essential when writing paper and in the process of scientific research. The number of reference getting in the nowadays with the rapid developing internet is not the same as before. So much information provides the convenience to the researchers, and ensures that the current research work can be in the forefront of scientific and technological base, while avoiding the duplicate insufficient work, thats very significant.Technology file system is a tool that enables users (especially scientific research workers) can collect, manage, search and output all types of literature .The system solves the technology workers problems including the inconvenience with the large number of literatures finding, statistics, tagging and management, while avoiding to spent a lot of time in documents format when compiling.User can add note and keyword to literatures which have read by the system, and query or edit corresponding literature. The system can add, query, sort, delete scientific literatures and generate references automatic. It can help users manage large variety of scientific literatures efficiently and conveniently, also can set custom document format templates and auto generate literatures according to users requirement.The innovation of this thesis compares to other management systems is that adding the PDF Bookmarks feature in the process of automatic document generation, that makes the literature reading more convenient. At the same time, using MathML (Mathematical Markup Language) to achieve the output of formula, it can help us to show, operate and share the mathematical expression in the Web and processor.Keywords: Scientific Literature; Literature Management Systems; File Management目 錄第一章緒論11.1 文獻(xiàn)管理系統(tǒng)的背景及意義11.2 本文主要工作41.3 本文組織結(jié)構(gòu)5第二章 文獻(xiàn)管理系統(tǒng)的架構(gòu)62.1 需求分析62.2 模塊劃分6第三章文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)93.1 系統(tǒng)開發(fā)平臺(tái)及開發(fā)環(huán)境93.2 數(shù)據(jù)庫(kù)設(shè)計(jì)93.3 功能模塊設(shè)計(jì)103.3.1文件操作模塊103.3.2 文獻(xiàn)編輯模塊113.3.3文獻(xiàn)管理模塊113.3.4查找模塊123.3.5鼠標(biāo)控制133.4 類設(shè)計(jì)133.5 主界面設(shè)計(jì)15第四章 文獻(xiàn)自動(dòng)生成的設(shè)計(jì)與實(shí)現(xiàn)174.1 文獻(xiàn)生成中的主要技術(shù)介紹174.2文獻(xiàn)生成的概要設(shè)計(jì)174.3 文獻(xiàn)生成的前端Java應(yīng)用程序184.4 DTD文件的設(shè)計(jì)204.5 XML文檔的設(shè)計(jì)224.6 XSL文件的設(shè)計(jì)244.7實(shí)現(xiàn)XML到PDF文件的轉(zhuǎn)換254.8 文獻(xiàn)自動(dòng)生成中的特色25第五章 總結(jié)與展望285.1 總結(jié)285.2 未來(lái)工作展望28致謝29參考文獻(xiàn)3031ContentsChapter 1 Introduction11.1 Background and Significance11.2 Main Work of Thesis41.3 Configuration of Thesis5Chapter 2 Configuration of File Management System62.1 Requirement Analysis62.2 Module Devision6Chapter 3 Design and Implementation93.1 Hardware and Software Environment93.2 DataBase Design93.3 Design of Module103.3.1 Design of File Opertation Module103.3.2 Design of Edit Information Module113.3.3 Design of File Management Module113.3.4 Design of Search Module123.3.5 Mouse Control133.4 Design of Class133.5 Main Interface Design15Chapter 4 Design and Implementation of File Automatically Generate174.1 Introduction of Main Technology174.2 Summary Design174.3 Java Applications Desgin184.4 Design of DTD File204.5 Design of XML File224.6 Design of XSL File244.7 Convertion from XML to PDF254.8 Features25Chapter 5 Conclusions and Future Work285.1 Conclusions285.2 Future Work28Acknowledgements29References30第一章 緒論第一章 緒論中國(guó)科學(xué)院過(guò)程工程研究所從2001年開始進(jìn)行基于網(wǎng)絡(luò)的文獻(xiàn)管理系統(tǒng)的研究工作?;诰W(wǎng)絡(luò)的文獻(xiàn)管理系統(tǒng)可以通過(guò)C/S(客戶端服務(wù)器)模式和B/S模式兩種方式來(lái)實(shí)現(xiàn)。本文將主要介紹基于C/S模式下的系統(tǒng)設(shè)計(jì)以及開發(fā)的初步結(jié)果?;贑/S模式的文獻(xiàn)管理系統(tǒng),使用戶可以通過(guò)本地磁盤上存儲(chǔ)的文獻(xiàn)資料,方便地進(jìn)行信息的管理和使用,并使系統(tǒng)的維護(hù)和更新更為方便和及時(shí)。1.1 文獻(xiàn)管理系統(tǒng)的背景及意義隨著Internet的發(fā)展,文獻(xiàn)信息的發(fā)布和獲取與過(guò)去有了很大的不同,文獻(xiàn)信息的電子化和網(wǎng)絡(luò)化越來(lái)越普及,Internet正在成為人們獲取和交流信息的基本平臺(tái)。許多科技期刊的全文可以通過(guò)網(wǎng)絡(luò)直接獲取,例如重慶維普的中文科技期刊全文數(shù)據(jù)庫(kù)、著名出版商Elsevier的Science Direct電子期刊。國(guó)內(nèi)外各大圖書館也都在網(wǎng)上提供館藏目錄查詢(OPAC)服務(wù),例如中國(guó)國(guó)家圖書館,美國(guó)國(guó)會(huì)圖書館等。還有許多綜合性的專業(yè)站點(diǎn)提供包括會(huì)議信息、專業(yè)數(shù)據(jù)庫(kù)、專利等各種豐富實(shí)用的資源,例如著名的化學(xué)化工虛擬社區(qū)ChemW 站點(diǎn)等。通過(guò)Internet獲取信息的方式也造成了信息的海量性和異質(zhì)性,使得傳統(tǒng)的文獻(xiàn)管理方式難以滿足信息的存儲(chǔ)、組織、檢索和使用等各方面的需要,從而迫切需要一種工具對(duì)信息進(jìn)行有效的管理。文獻(xiàn)管理系統(tǒng)就是一種使用戶(尤其是科研工作者)可以對(duì)各種類型的文獻(xiàn)信息進(jìn)行有效收集、管理檢索以及按照不同的格式進(jìn)行輸出的工具。對(duì)信息的收集可以通過(guò)“手工導(dǎo)入”和“自動(dòng)導(dǎo)入的方式來(lái)進(jìn)行”,“手工導(dǎo)入”就是通過(guò)拷貝、粘貼或直接輸入數(shù)據(jù)進(jìn)行文獻(xiàn)信息的輸入,“自動(dòng)導(dǎo)入”就是通過(guò)系統(tǒng)提供的工具自動(dòng)地將信息批量輸入到系統(tǒng)的數(shù)據(jù)庫(kù)中。對(duì)信息的管理,包括可以通過(guò)各種檢索方式從數(shù)據(jù)庫(kù)中找到所需的文獻(xiàn)信息等。對(duì)信息的輸出,可以將用戶選擇的信息按照選定的格式通過(guò)“自動(dòng)導(dǎo)出”的功能進(jìn)行自動(dòng)輸出,或者自動(dòng)生成電子文檔的參考目錄。除此以外,由于如今的科研工作往往不是孤立進(jìn)行,而是基于一個(gè)團(tuán)隊(duì)(Team)的,這就要求文獻(xiàn)信息應(yīng)該在整個(gè)團(tuán)隊(duì)中進(jìn)行共享和交流。因此,文獻(xiàn)管理系統(tǒng)應(yīng)該是基于網(wǎng)絡(luò)平臺(tái)的,通過(guò)對(duì)用戶的權(quán)限控制等方式,來(lái)實(shí)現(xiàn)文獻(xiàn)的共享和交流。對(duì)科研工作者來(lái)說(shuō),方便有效的文獻(xiàn)管理系統(tǒng)顯得尤為重要,它貫穿于科研工作的整個(gè)過(guò)程中,與每一個(gè)階段都密切相關(guān)。在論文寫作及科學(xué)研究的過(guò)程中,參考文獻(xiàn)的運(yùn)用是必不可少的。在網(wǎng)絡(luò)迅速發(fā)展的今天,能夠獲得的參考文獻(xiàn)數(shù)量與過(guò)去不可同日而語(yǔ)。如此眾多的資料為研究工作者提供了巨大的方便,能夠保證當(dāng)前的研究工作站在最前沿的科技基礎(chǔ)上,同時(shí)避免的大量重復(fù)低效能的工作,具有十分重要的意義。但是,與此同時(shí),要快速地查找出某一作者的文章(書) 、檢索某一關(guān)鍵詞的文獻(xiàn)資料,或方便地閱讀某篇文章或某本書的主要內(nèi)容,一般都要花費(fèi)一定的尋找時(shí)間。因此,建立一個(gè)對(duì)這些文獻(xiàn)進(jìn)行有效管理的系統(tǒng)無(wú)疑是一個(gè)有意義的工作。同時(shí),考慮到不同的論文寫作對(duì)于參考文獻(xiàn)的格式要求也不盡相同,這同樣給論文作者在論文排版中帶來(lái)了大量重復(fù)性的工作,而這些都是完全可以通過(guò)程序自動(dòng)完成的。遺憾的是,到目前為止,就作者所知僅有的文獻(xiàn)管理系統(tǒng)多是網(wǎng)絡(luò)版且為收費(fèi)系統(tǒng),用戶無(wú)法在非網(wǎng)絡(luò)環(huán)境下使用,而且還需要交納一定的費(fèi)用,這就使很大一部分用戶使用起來(lái)十分的不方便?;诖?,本文建立了一個(gè)個(gè)人參考文獻(xiàn)管理系統(tǒng),能幫助使用者有效利用信息資源,建立和管理個(gè)人的參考文獻(xiàn),從而形成完全個(gè)性化的知識(shí)環(huán)境,創(chuàng)建個(gè)人的參考文獻(xiàn)數(shù)據(jù)庫(kù),保存有價(jià)值的參考文獻(xiàn),并對(duì)這些參考文獻(xiàn)進(jìn)行管理、檢索、閱讀,批注和使用,用戶利用個(gè)人參考文獻(xiàn)管理系統(tǒng),可以非常方便地查找自己累積的有價(jià)值的參考文獻(xiàn)書目,還可以在撰寫文稿的過(guò)程中,自動(dòng)生成規(guī)范的、符合出版要求的文后參考文獻(xiàn)。目前國(guó)內(nèi)外主流的科技資料文獻(xiàn)管理軟件主要有EndNote、Reference Manager、ProCit、RefWorks、Biblioscape、NoteExpress等。本文對(duì)幾款常用的國(guó)內(nèi)外參考文獻(xiàn)管理軟件作一介紹,并比較了它們之間各自的特點(diǎn)。1EndNote:它是一款優(yōu)秀的文獻(xiàn)管理軟件,最新版本為X1(v11.0.0.2566),是目前國(guó)內(nèi)外使用較廣泛的文獻(xiàn)管理軟件。它能為使用者帶來(lái)極大的便利,提高工作效率。它的主要功能有:(1) 個(gè)人數(shù)據(jù)庫(kù)的管理;(2) 撰寫論文;(3) 收集資料的方式;(4) EndNote的適用性。2Reference Manager:提供個(gè)人處理所搜集的各類型參考資料,并可建立個(gè)人書目數(shù)據(jù)庫(kù),同時(shí),可以書目記錄中的字段(如作者、文章篇名等)進(jìn)行布爾邏輯檢索相關(guān)的書目數(shù)據(jù);對(duì)于從事研究、教學(xué)或撰寫論文的讀者,欲引用、參照各類資料或編制參考書目等相當(dāng)便利。此外,當(dāng)讀者在進(jìn)行數(shù)據(jù)庫(kù)檢索或網(wǎng)絡(luò)資源查詢時(shí),也可利用此種軟件與遠(yuǎn)程主機(jī)進(jìn)行聯(lián)機(jī),將所查得的資料直接下傳至個(gè)人書目數(shù)據(jù)庫(kù)中。Reference Manager較適合科學(xué)及醫(yī)學(xué)領(lǐng)域的研究人員使用。但是由于該軟件不支持中文,因此,用的也不多。3RefWorks:它是CSA公司的一個(gè)聯(lián)機(jī)個(gè)人文獻(xiàn)書目管理系統(tǒng),用于幫助用戶建立和管理個(gè)人文獻(xiàn)書目資料,并可以實(shí)現(xiàn)在撰寫文稿的同時(shí),即時(shí)插入?yún)⒖嘉墨I(xiàn),同時(shí)生成規(guī)范的、符合出版要求的文后參考文獻(xiàn)。RefWork提供快速檢索和高級(jí)檢索兩種檢索模式,用戶可以輕松查到所需的書目信息。個(gè)人的書目數(shù)據(jù)既可以從其他數(shù)據(jù)庫(kù)批量導(dǎo)入,也可以由手工錄入。可以將眾多其他數(shù)據(jù)庫(kù)中的書目數(shù)據(jù)直接批量導(dǎo)入個(gè)人文獻(xiàn)書目數(shù)據(jù)庫(kù)中,通過(guò)個(gè)人文獻(xiàn)書目數(shù)據(jù)庫(kù)的檢索,間接實(shí)現(xiàn)對(duì)多個(gè)數(shù)據(jù)庫(kù)的跨庫(kù)檢索,提高資料檢索的查全率和查準(zhǔn)率。在個(gè)人文獻(xiàn)數(shù)據(jù)庫(kù)中建立文件夾、存放文獻(xiàn)的數(shù)目不受限制。個(gè)人書目數(shù)據(jù)庫(kù)提供了全文鏈接,獲取全文快捷、方便。RefWorks適用于研究員、學(xué)生、教師和圖書館館員等。4 Biblioscape:它是Biblioscape公司一款基于Windows平臺(tái)的研究信息管理工具,目前最新版本為7.0。Biblioscape能以文件夾的形式組織和管理文獻(xiàn),并與Word軟件相集成,簡(jiǎn)化在寫作論文時(shí)對(duì)文獻(xiàn)的引用和處理。同時(shí),該軟件內(nèi)建的BiblioWeb(以下簡(jiǎn)稱BW)可以在互聯(lián)網(wǎng)上發(fā)布文獻(xiàn)資料,方便文獻(xiàn)資料共享,實(shí)現(xiàn)了文獻(xiàn)資料、圖書目錄的輕松網(wǎng)絡(luò)化管理。Biblioscape并不能簡(jiǎn)單地歸入到文獻(xiàn)管理軟件中來(lái),因?yàn)樗墓δ軐?shí)在太強(qiáng)大了,它不僅是文獻(xiàn)管理工具,還是文獻(xiàn)分析工具;另外Biblioscape版本眾多,適合不同研究者需要。Biblioscape對(duì)中文支持的比較早,不過(guò)到現(xiàn)在僅支持g b2312編碼,不支持utf-8。5NoteExpress:是國(guó)內(nèi)最專業(yè)的文獻(xiàn)檢索與管理系統(tǒng),其核心功能涵蓋知識(shí)管理的所有環(huán)節(jié),包括知識(shí)采集、管理、應(yīng)用和挖掘。NoteExpress完全支持中文,并且支持多語(yǔ)言格式化輸出。還可以幫助使用者通過(guò)各種途徑高效、自動(dòng)地搜索(含互聯(lián)網(wǎng))、下載、管理文獻(xiàn)資料和論文,以附件方式管理參考文獻(xiàn)全文或者任何格式的文件。數(shù)據(jù)挖掘的功能可以幫助用戶快速了解某研究方向的最新進(jìn)展和各方觀點(diǎn)等。除了管理以上顯性的知識(shí)外,類似日記、科研心得、論文草稿等瞬間產(chǎn)生的隱性知識(shí)也可以通過(guò)NoteExpress的筆記功能紀(jì)錄,并且可以與參考文獻(xiàn)的題錄聯(lián)系起來(lái)。該軟件可以在使用Word中輸出各種格式化的參考文獻(xiàn)信息,按照各種期刊雜志的要求自動(dòng)完成參考文獻(xiàn)引用的格式化,不需要脫離Word環(huán)境,特別是當(dāng)中外文混排或同一文獻(xiàn)要求輸出中英語(yǔ)格式,NoteExpress可以實(shí)現(xiàn)完美輸出。與筆記以及附件功能的結(jié)合、全文檢索、數(shù)據(jù)挖掘等,使該軟件可以作為強(qiáng)大的個(gè)人知識(shí)管理系統(tǒng)。6綜述:總的來(lái)說(shuō),目前使用最廣的國(guó)外軟件是EndNote,國(guó)內(nèi)是NoteExpress,網(wǎng)絡(luò)版用的最多是RefWorks,而Biblioscape的功能最強(qiáng)大。從國(guó)內(nèi)使用的角度講,NoteExpress具備了與其余文獻(xiàn)管理軟件的數(shù)據(jù)交換能力,并且更符合中國(guó)人使用的習(xí)慣和特點(diǎn)。不同專業(yè)的研究人員可以根據(jù)自己專業(yè)的特點(diǎn),選擇適合自己的文獻(xiàn)管理軟件。表1.1Papyrus,EndNote和Biblioscape的性能比較PapayrusEndNoteBiblioscape適用操作系統(tǒng)Dos/Macintosh/WindowsDos/Macintosh/WindowsWindowsB/S版本無(wú)有有支持文獻(xiàn)類型81620文獻(xiàn)描述的用戶自定義無(wú)有有檢索功能好不好好自動(dòng)導(dǎo)入過(guò)程監(jiān)控有無(wú)無(wú)導(dǎo)入導(dǎo)出格式的用戶自定義有有有重復(fù)文獻(xiàn)檢測(cè)有有但不好有在文檔中直接使用文獻(xiàn)無(wú)有有與Web的連接無(wú)無(wú)有1.2 本文主要工作隨著計(jì)算機(jī)和Internet相關(guān)技術(shù)的發(fā)展,一方面使人們對(duì)文獻(xiàn)管理系統(tǒng)的功能有了新的需求,另一方面技術(shù)的發(fā)展也為新功能的實(shí)現(xiàn)提供了可能。按照軟件工程中項(xiàng)目的實(shí)現(xiàn)流程和具體過(guò)程,對(duì)整個(gè)系統(tǒng)從開題到系統(tǒng)實(shí)現(xiàn)應(yīng)用了完整規(guī)范的開發(fā)流程。本文的主要工作內(nèi)容包括對(duì)系統(tǒng)架構(gòu)的分析,需求分析,模塊劃分,以及概要設(shè)計(jì),詳細(xì)設(shè)計(jì)的過(guò)程。最后,對(duì)系統(tǒng)的實(shí)現(xiàn)結(jié)果進(jìn)行展示。本文建立了一個(gè)個(gè)人參考文獻(xiàn)管理系統(tǒng),能幫助使用者有效利用信息資源,建立和管理個(gè)人的參考文獻(xiàn),從而形成完全個(gè)性化的知識(shí)環(huán)境,創(chuàng)建個(gè)人的參考文獻(xiàn)數(shù)據(jù)庫(kù),保存有價(jià)值的參考文獻(xiàn),并對(duì)這些參考文獻(xiàn)進(jìn)行管理、檢索、閱讀,批注和使用,用戶利用個(gè)人參考文獻(xiàn)管理系統(tǒng),可以非常方便地查找自己累積的有價(jià)值的參考文獻(xiàn)書目,還可以在撰寫文稿的過(guò)程中,自動(dòng)生成規(guī)范的、符合出版要求的文后參考文獻(xiàn)。1.3 本文組織結(jié)構(gòu)本文主要研究了科技資料文獻(xiàn)管理的設(shè)計(jì)與實(shí)現(xiàn)。以下是本文的組織結(jié)構(gòu):1. 第一章:緒論。主要介紹了文獻(xiàn)管理系統(tǒng)的總體概念,選題背景及意義,國(guó)內(nèi)外文獻(xiàn)管理介紹比較,本文主要內(nèi)容和工作,以及本文組織結(jié)構(gòu)。2第二章:文獻(xiàn)管理系統(tǒng)的需求分析。介紹了整體軟件目標(biāo),程序設(shè)計(jì)目標(biāo),模塊劃分,以及各主要模塊的詳細(xì)說(shuō)明。3第三章:文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。介紹了系統(tǒng)開發(fā)平臺(tái)及環(huán)境,數(shù)據(jù)庫(kù)設(shè)計(jì),類設(shè)計(jì),主界面設(shè)計(jì),功能模塊設(shè)計(jì),以及文獻(xiàn)自動(dòng)生成的設(shè)計(jì)與實(shí)現(xiàn)。4. 第四章:文獻(xiàn)自動(dòng)生成的設(shè)計(jì)與實(shí)現(xiàn)。介紹了文獻(xiàn)自動(dòng)生成中的應(yīng)用到的主要技術(shù),文獻(xiàn)自動(dòng)生成的總體設(shè)計(jì),以及關(guān)鍵的Java前端應(yīng)用程序,DTD文件的設(shè)計(jì),XML文件的設(shè)計(jì),XSL文件的設(shè)計(jì)。5第五章:總結(jié)與展望。對(duì)全文進(jìn)行了總結(jié),并且對(duì)文獻(xiàn)管理系統(tǒng)的未來(lái)進(jìn)行了展望??萍假Y料文獻(xiàn)管理系統(tǒng)第二章 文獻(xiàn)管理系統(tǒng)的架構(gòu)文獻(xiàn)管理系統(tǒng)就是一種使用戶(尤其是科研工作者)可以對(duì)各種類型的文獻(xiàn)信息進(jìn)行有效收集、管理檢索以及按照不同的格式進(jìn)行輸出的工具。對(duì)信息的管理,包括可以通過(guò)各種檢索方式從數(shù)據(jù)庫(kù)中找到所需的文獻(xiàn)信息等。對(duì)信息的輸出,可以將用戶選擇的信息按照選定的格式通過(guò)“自動(dòng)導(dǎo)出”的功能進(jìn)行自動(dòng)輸出,或者自動(dòng)生成電子文檔的參考目錄。為了實(shí)現(xiàn)以上的功能就必須進(jìn)行需求分析,在所有軟件開發(fā)中了解用戶的需求是系統(tǒng)開發(fā)的第一步,在本章將對(duì)文獻(xiàn)系統(tǒng)的需求進(jìn)行分析,并對(duì)整體軟件目標(biāo)、模塊劃分以及各主要模塊進(jìn)行詳細(xì)說(shuō)明。2.1 需求分析當(dāng)前開發(fā)任意一款軟件最先進(jìn)行的就是了解用戶的需求,而且需求分析是之后開發(fā)軟件、測(cè)試軟件所必要的文檔依據(jù),進(jìn)行文獻(xiàn)管理系統(tǒng)的第一步也要進(jìn)行需求分析,根據(jù)需求得出下面的軟件整體目標(biāo): 1. 科技資料文獻(xiàn)基本信息的輸入及更改,例如論文的名稱、作者、來(lái)源、關(guān)鍵詞等;2. 參考文獻(xiàn)模板的設(shè)置及參考文獻(xiàn)文檔的自動(dòng)生成;3. 為資料文獻(xiàn)添加批注或注釋信息;4. 按照不同的查詢條件對(duì)資料文獻(xiàn)進(jìn)行精確及模糊查詢;5. 科技資料文獻(xiàn)的分類統(tǒng)計(jì)、排序、存檔及打印;6. 自動(dòng)生成文獻(xiàn)間的相互引用關(guān)系及知識(shí)結(jié)構(gòu)圖;7. 良好的用戶操作界面。2.2 模塊劃分在開發(fā)文獻(xiàn)管理系統(tǒng)過(guò)程中,按照之前的用戶需求文檔對(duì)系統(tǒng)進(jìn)行了詳細(xì)的功能劃分,具體可分為以下六個(gè)模塊:1文件操作模塊:實(shí)現(xiàn)對(duì)文獻(xiàn)列表的展開,添加文獻(xiàn),退出系統(tǒng)。文件操作模塊中最關(guān)鍵的參考文獻(xiàn)的添加。按照參考文獻(xiàn)的類型,可將參考文獻(xiàn)分為8種,分別為期刊文獻(xiàn)J、著作M、學(xué)位論文D、專利P、標(biāo)準(zhǔn)S、論文集文獻(xiàn)類型標(biāo)志、報(bào)紙中析出的文獻(xiàn)N、電子文獻(xiàn)文獻(xiàn)類型標(biāo)志/文獻(xiàn)載體標(biāo)志。每一類參考文獻(xiàn)的文后標(biāo)準(zhǔn)是不同的,所以8種參考文獻(xiàn)用8種不同的格式錄入,存放在事先建好的數(shù)據(jù)庫(kù)中,并同時(shí)對(duì)文獻(xiàn)進(jìn)行分類以便查詢用。2編輯模塊:實(shí)現(xiàn)對(duì)文獻(xiàn)基本信息的輸入及更改,包括論文的名稱、作者、來(lái)源、關(guān)鍵詞、內(nèi)容等,同時(shí)可以對(duì)正讀文獻(xiàn)添加批注。修改后,數(shù)據(jù)庫(kù)中可以對(duì)其相應(yīng)的信息同步更新,并且在主頁(yè)面的顯示效果中也會(huì)更新顯示。3.管理模塊:對(duì)文獻(xiàn)進(jìn)行分類管理,包括添加分類,改變文獻(xiàn)分類,刪除分類,刪除文獻(xiàn)。同時(shí)可以對(duì)文獻(xiàn)信息進(jìn)行簡(jiǎn)單的統(tǒng)計(jì),排序。在對(duì)文獻(xiàn)分類信息修改后,數(shù)據(jù)庫(kù)和主頁(yè)面的信息會(huì)進(jìn)行同步更新。通過(guò)此模塊可以使文獻(xiàn)信息管理更加清晰明確,也給查找閱讀文獻(xiàn)帶來(lái)了極大的方便。4.查詢模塊:制定查詢條件,可以根據(jù)作者,標(biāo)題,關(guān)鍵詞,內(nèi)容,標(biāo)注信息進(jìn)行查詢。查詢部分包括對(duì)參考文獻(xiàn)的檢索和文獻(xiàn)信息管理兩部分。參考文獻(xiàn)的檢索方式分為高級(jí)檢索和按固定項(xiàng)目查找。高級(jí)檢索集合用戶所需要的各種條件,在所有文獻(xiàn)中進(jìn)行具體查詢。按固定項(xiàng)目查找共分三個(gè)項(xiàng)目:查找作者、查找文獻(xiàn)標(biāo)題和查找期刊,按固定項(xiàng)目列出所有的文獻(xiàn)標(biāo)題,點(diǎn)選標(biāo)題可得到文獻(xiàn)的詳細(xì)信息。得到文獻(xiàn)的詳細(xì)信息便可以進(jìn)一步完成文獻(xiàn)信息的管理。文獻(xiàn)信息的管理主要包括對(duì)文獻(xiàn)信息的修改、刪除文獻(xiàn)信息和更改文獻(xiàn)存放組別三個(gè)部分,可分別完成對(duì)文獻(xiàn)信息的不同管理。5文檔自動(dòng)生成模塊:根據(jù)用戶論文格式的需要,制定論文格式模板,然后根據(jù)用戶輸入的內(nèi)容進(jìn)行用戶論文的自動(dòng)生成。使用參考文獻(xiàn)管理系統(tǒng)最重要,也是最方便的一部分,就是按要求生成文后參考文獻(xiàn)文檔了。用戶可編輯文后參考文獻(xiàn)的輸出格式,通過(guò)eclipse 3.2軟件調(diào)出Word文檔,系統(tǒng)則按照用戶編輯的格式,將用戶需要的參考文獻(xiàn)信息顯示在Word文檔中,生成文后參考文獻(xiàn)文檔,以供用戶使用。在java程序里需要若要自動(dòng)生成文檔,則需要包括添加各種科技文獻(xiàn)的基本信息,包括:封面的設(shè)計(jì),摘要,引言,章節(jié),目錄,段落,參考文獻(xiàn),以及頁(yè)眉頁(yè)腳的功能等。6結(jié)構(gòu)圖模塊:自動(dòng)生成文獻(xiàn)間的相互引用關(guān)系及知識(shí)結(jié)構(gòu)圖,用戶可以選擇相關(guān)的文獻(xiàn),自動(dòng)生成文獻(xiàn)間的相互引用關(guān)系及知識(shí)結(jié)構(gòu)圖。以上六個(gè)模塊構(gòu)成了一個(gè)完整的科技文獻(xiàn)管理系統(tǒng),第一步,根據(jù)各個(gè)模塊之間的相互關(guān)系,進(jìn)行歸納、總結(jié)、分析,得出了一個(gè)大體的文獻(xiàn)管理系統(tǒng)功能結(jié)構(gòu)框架,第二步,經(jīng)過(guò)進(jìn)一步的細(xì)化和思考,又將每個(gè)模塊進(jìn)行了具體的子功能劃分,得出最終的文獻(xiàn)管理系統(tǒng)功能結(jié)構(gòu)圖,如下:圖2.1 系統(tǒng)的功能結(jié)構(gòu)圖第三章 文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)第三章 文獻(xiàn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)在本章主要對(duì)文獻(xiàn)系統(tǒng)的具體實(shí)現(xiàn)進(jìn)行了介紹,包括五個(gè)小節(jié):系統(tǒng)開發(fā)平臺(tái)及開發(fā)環(huán)境、數(shù)據(jù)庫(kù)設(shè)計(jì)、功能模塊設(shè)計(jì)、類設(shè)計(jì)及主界面設(shè)計(jì)。而每個(gè)小節(jié)又對(duì)具體內(nèi)容進(jìn)行了劃分,詳細(xì)的展示了一個(gè)完整的文獻(xiàn)管理系統(tǒng)開發(fā)過(guò)程。3.1 系統(tǒng)開發(fā)平臺(tái)及開發(fā)環(huán)境1系統(tǒng)的硬件平臺(tái)處理器:Pentium級(jí)CPU主頻在200MHZ以上;內(nèi)存:不低于256M;硬盤不小于40G。 2系統(tǒng)的軟件環(huán)境開發(fā)工具:eclipse 3.2、Altova XMLSpy 2005、Fop Processor v0.20.5、MathType v5.2;開發(fā)語(yǔ)言:Java jdk1.6.0;開發(fā)平臺(tái):Windows XP;軟件建模:IBM Rational Rose;軟件管理:IBM Rational ClearCase;性能測(cè)試:IBM Rational Quantify。3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)該系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),采用簡(jiǎn)單的一張表完成。Fmess表用于存儲(chǔ)科技文獻(xiàn)的一些基本信息,包括標(biāo)題,作者,關(guān)鍵字,備注,存儲(chǔ)位置,時(shí)間(添加到系統(tǒng)的時(shí)間),是否已讀,對(duì)表的說(shuō)明,各個(gè)字段的詳細(xì)說(shuō)明。表3.1 Fmess 表的字段說(shuō)明字段名數(shù)據(jù)類型說(shuō)明索引必添字段 Y/NTitle文本(50)標(biāo)題有YAuthor文本(50)作者有YKeyword文本(50)關(guān)鍵字有YRemark文本(50)備注有NSort文本(50)分類有N表3.1 Fmess 表的字段說(shuō)明字段名數(shù)據(jù)類型說(shuō)明索引必添字段 Y/NSource文本(100)來(lái)源有YTimes文本(50)時(shí)間有YIfRead文本(5)已讀沒(méi)有Y3.3 功能模塊設(shè)計(jì)下面我們將依次介紹系統(tǒng)的六個(gè)主要功能模塊的設(shè)計(jì)與實(shí)現(xiàn),包括各個(gè)模塊的詳細(xì)說(shuō)明,功能實(shí)現(xiàn)情況,以及實(shí)現(xiàn)的效果截圖。下面將分五個(gè)小節(jié)進(jìn)行具體介紹。3.3.1文件操作模塊文獻(xiàn)操作包括對(duì)文獻(xiàn)的添加,文獻(xiàn)列表的展開,退出系統(tǒng)三個(gè)子菜單。通過(guò)對(duì)文獻(xiàn)的添加,可以通過(guò)輸入文獻(xiàn)的基本信息,將文獻(xiàn)添加到系統(tǒng)中。以便以后的記錄和閱讀。展開列表可以將所以系統(tǒng)中的文獻(xiàn)在一個(gè)table里羅列出來(lái)。單擊列表中的一個(gè)文獻(xiàn),將會(huì)在主窗口的下方將他的基本信息,以及記錄的備注信息顯示出來(lái)。雙擊一個(gè)文獻(xiàn),則會(huì)用相應(yīng)的軟件打開這個(gè)文獻(xiàn),供讀者閱讀。圖4.2 添加文獻(xiàn)界面3.3.2 文獻(xiàn)編輯模塊在此模塊中,可以對(duì)文獻(xiàn)的基本信息進(jìn)行修改。當(dāng)點(diǎn)擊它時(shí),系統(tǒng)會(huì)自動(dòng)從數(shù)據(jù)庫(kù)中讀入當(dāng)前選擇文獻(xiàn)的基本信息。用戶就可以根據(jù)需要對(duì)它進(jìn)行修改。同時(shí)還提供了對(duì)當(dāng)前正在閱讀文獻(xiàn)進(jìn)行添加備注的功能。圖4.3 修改文獻(xiàn)信息3.3.3文獻(xiàn)管理模塊 文獻(xiàn)管理是該系統(tǒng)的一個(gè)非常重要的功能。它提供了對(duì)系統(tǒng)中所有文獻(xiàn)進(jìn)行分類統(tǒng)計(jì)、管理的功能。作用和Internet Explorer在瀏覽器中起到的作用相似。從截圖中可以看出,它提供了創(chuàng)建分類,重命名分類,改變文獻(xiàn)分類,刪除文獻(xiàn)的功能。通過(guò)它可以使文獻(xiàn)的管理更加清晰、明了,給快速的找到一個(gè)文獻(xiàn)帶來(lái)了極大的方便。圖4.4 文獻(xiàn)管理窗口圖4.5 改變文獻(xiàn)分類窗口3.3.4查找模塊 對(duì)于一個(gè)管理系統(tǒng),查找功能應(yīng)是必不可少的功能之一,此系統(tǒng)的查找模塊提供了各種方式的查找方法,包括對(duì)作者、標(biāo)題、關(guān)鍵字、類別、備注信息的查找。該查找都是針對(duì)輸入的信息,進(jìn)行的模糊查詢。圖4.6 查找模塊3.3.5鼠標(biāo)控制 在該系統(tǒng)中,同時(shí)有一些鼠標(biāo)控制事件。對(duì)于樹結(jié)構(gòu),即主頁(yè)面左邊的部分,當(dāng)單擊樹節(jié)點(diǎn)時(shí),就會(huì)在主頁(yè)面上顯示出該節(jié)點(diǎn)對(duì)應(yīng)的文獻(xiàn)的基本信息。雙擊一個(gè)節(jié)點(diǎn),則會(huì)用相應(yīng)的軟件打開這個(gè)文獻(xiàn),供讀者閱讀。圖4.8 鼠標(biāo)控制事例3.4 類設(shè)計(jì)在此系統(tǒng)的設(shè)計(jì)過(guò)程中,將具有獨(dú)立功能的代碼放在一個(gè)類中。使各個(gè)類之間具有相對(duì)獨(dú)立性。以下使類的設(shè)計(jì)及類功能的說(shuō)明:表3.2 類的功能說(shuō)明類名功能MainPro.java系統(tǒng)的主程序,初始化主界面FileTree樹的組件,包括對(duì)樹的初始化,以及一些對(duì)樹的增刪改查等操作FileTable.java列表的組件,包括對(duì)列表的初始化,以及對(duì)列表的排序,相應(yīng)事件等操作DbOperation.java對(duì)數(shù)據(jù)庫(kù)的操作。表3.2 類的功能說(shuō)明類名功能AddFile.java 添加文獻(xiàn)的操作,可以從磁盤中選取文獻(xiàn)添加到系統(tǒng)中SortManage.java對(duì)文獻(xiàn)分類的管理。包括創(chuàng)建分類,刪除分類,改變文獻(xiàn)的分類。ModifyInfo.java對(duì)文獻(xiàn)基本信息的修改,包括標(biāo)題,作者,關(guān)鍵字,標(biāo)注等基本信息FileOperation.java對(duì)存儲(chǔ)分類信息的文件的操作。由于文獻(xiàn)自動(dòng)生成模塊是一個(gè)相對(duì)比較大的模塊。故我們對(duì)它進(jìn)行單獨(dú)說(shuō)明,以下是該的類的說(shuō)明:表3.3 文獻(xiàn)自動(dòng)生成的類功能說(shuō)明類名功能Editor.java封面的添加,以及文檔生成的主窗口AddChap.java添加章AddKeyword.java添加關(guān)鍵字AddParagraph.java添加段落AddRef.java添加參考文獻(xiàn)AddSection.java添加節(jié)AddSubsec.java添加小節(jié)ImageFileView.java從本地文件系統(tǒng)中進(jìn)行圖片選擇ImageFilter.java和插入圖片相關(guān)的類ImagePreview.java 和插入圖片相關(guān)的類Util.java和插入圖片相關(guān)的類圖3.2 系統(tǒng)類圖3.5 主界面設(shè)計(jì)設(shè)計(jì)科技資料文獻(xiàn)管理系統(tǒng),首先根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能,設(shè)計(jì)系統(tǒng)的主窗口,完成系統(tǒng)主菜單的設(shè)計(jì)。因?yàn)橄到y(tǒng)主要功能分為文獻(xiàn)添加、文獻(xiàn)查詢管理、文獻(xiàn)分類管理,文獻(xiàn)自動(dòng)生成等幾個(gè)部分,所以系統(tǒng)主菜單的設(shè)計(jì)也主要圍繞這幾部分功能來(lái)設(shè)計(jì)。在程序的主界面中,左邊采用了一棵樹的形式,顯示所有的文獻(xiàn)分類信息。右邊采用了列表的形式顯示用戶管理的所有文獻(xiàn),并將文獻(xiàn)的基本信息顯示出來(lái)。右下方用于顯示點(diǎn)擊文獻(xiàn)時(shí),顯示相應(yīng)文獻(xiàn)的基本信息。如下圖:圖4.1 系統(tǒng)主頁(yè)面第四章 文獻(xiàn)自動(dòng)生成的設(shè)計(jì)與實(shí)現(xiàn)第四章 文獻(xiàn)自動(dòng)生成的設(shè)計(jì)與實(shí)現(xiàn)在上一章對(duì)文獻(xiàn)管理系統(tǒng)的需求分析、總體架構(gòu)以及總體的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了介紹,除以上內(nèi)容之外,在開發(fā)文獻(xiàn)管理系統(tǒng)過(guò)程中,還有一個(gè)最主要的實(shí)現(xiàn)功能,即文獻(xiàn)自動(dòng)生成。在本章將對(duì)這部分主要技術(shù)進(jìn)行詳細(xì)的介紹,包括文獻(xiàn)生成的概要設(shè)計(jì)、文獻(xiàn)生成的前端Java應(yīng)用程序、DTD文件的設(shè)計(jì)、XML文檔的設(shè)計(jì)、XSL文件的設(shè)計(jì)、實(shí)現(xiàn)XML到PDF文件的轉(zhuǎn)換以及文獻(xiàn)自動(dòng)生成中的特色。4.1 文獻(xiàn)生成中的主要技術(shù)介紹DTD(Document Type Definition,文檔格式定義)。對(duì)于想利用XML文件來(lái)交換信息的實(shí)體來(lái)說(shuō),他們之間必須有一個(gè)約定即編寫XML文件可以用哪些標(biāo)記,母元素中能夠包括哪些子元素,各個(gè)元素出現(xiàn)的順序,元素中的屬性怎樣定義等。這樣他們?cè)谟肵ML交換數(shù)據(jù)時(shí)才能夠暢通無(wú)阻,這種約定稱為DTD。可以把DTD看作編寫XML文件的模板。對(duì)于同行業(yè)之間的XML數(shù)據(jù)交換,有一個(gè)固定的DTD將會(huì)方便很多。比如說(shuō),如果網(wǎng)上的各大電子商場(chǎng)的XML網(wǎng)頁(yè)都遵循同一個(gè)DTD時(shí),那么我們就可以輕松地依據(jù)這個(gè)DTD 編寫一個(gè)應(yīng)用程序,去網(wǎng)上將我們感興趣的東西自動(dòng)抓回來(lái)。XML是The Extensible Markup Language(可擴(kuò)展標(biāo)識(shí)語(yǔ)言)的簡(jiǎn)寫。目前推薦遵循的是W3C組織于2000年10月6日 發(fā)布的XML1.0版本,參考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一樣,XML同樣來(lái)源于SGML,但XML是一種能定義其他語(yǔ)言的語(yǔ)。XML最初設(shè)計(jì)的目的是彌補(bǔ)HTML的不足,以強(qiáng)大的擴(kuò)展性滿足網(wǎng)絡(luò)信息發(fā)布的需要,后來(lái)逐漸用于網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)換和描述。目前在網(wǎng)站信息傳遞中常用的RSS就是典型的XML應(yīng)用。XSL(Extensible Stylesheet Language)它是指可擴(kuò)展樣式表語(yǔ)言。 XSL之于 XML 就像 CSS 之于 HTML。說(shuō)白了就是將XML中的數(shù)據(jù)用指定的顯示格式輸出XML不像HTML,它不包含任何顯示格式的信息XSL 包含兩個(gè)部分:1 XSLT 用于轉(zhuǎn)換 XML 文檔的語(yǔ)言. XSLT 是指XSL轉(zhuǎn)換 (XSL Transformation) 2 XPath 用于在 XML 文檔中導(dǎo)航的語(yǔ)言 。4.2文獻(xiàn)生成的概要設(shè)計(jì) 1根據(jù)范文的層次格式編寫DTD文檔,整個(gè)文件(project)包括封面(cover)、摘要(abstract)、正文(maintext)。其中封面(cover)包括題目(title)、姓名(name)、學(xué)校(college)、系(department)、專業(yè)(profession)、年級(jí)(grade)、學(xué)號(hào)(sn)、校內(nèi)指導(dǎo)老師(teacher1)、校外指導(dǎo)老師(teacher2)及職稱(zhicheng),職稱(zhicheng)是老師的屬性;摘要(abstract)包括中文摘要(abstract_cn)、中文關(guān)鍵字(keywords_cn)、英文摘要(abstract_en)、英文關(guān)鍵字(keywords_en);正文(maintext)包括章(chapter)、節(jié)(layerA)、子節(jié)(layerB)、段(paragraph)、圖片(image)、上標(biāo)(sup)、下標(biāo)(sub)、加粗(emph)、斜體(italicfont)及ID、title、entitle、標(biāo)簽(label)和鏈接(url),ID、title、entitle是章、節(jié)、子節(jié)段落的屬性,標(biāo)簽(label)、鏈接(url)是圖片的屬性。2根據(jù)范文的排版格式編寫XSL文檔來(lái)對(duì)XML文檔進(jìn)行格式化。包括兩個(gè)simple-page-master,用于封面、摘要與正文的頁(yè)面。編寫代碼,通過(guò)遍歷各章節(jié)的標(biāo)題,自動(dòng)生成文檔的目錄和書簽,并嵌入相應(yīng)的內(nèi)部鏈接功能,實(shí)現(xiàn)通過(guò)點(diǎn)擊目錄或書簽的鏈接跳轉(zhuǎn)到相應(yīng)的章節(jié)。考慮各段落中的圖片、公式、表格、內(nèi)聯(lián)圖片、上下標(biāo)、加粗、斜體等圖片和文本格式,并編寫相應(yīng)的模版來(lái)匹配。3.根據(jù)DTD文檔,參照范文內(nèi)容,編寫XML文件,手工輸入要顯示的內(nèi)容,包括文字、圖片、表格和公式等。4用DTD文件對(duì)寫好的XML文件進(jìn)行有效性檢驗(yàn)。5將XML文件轉(zhuǎn)化成PDF文件4.3 文獻(xiàn)生成的前端Java應(yīng)用程序由于需要使文獻(xiàn)自動(dòng)生成,故必須具備一個(gè)輸入文獻(xiàn)相關(guān)信息的窗口。在這里采用了JAVA應(yīng)用程序的設(shè)計(jì)。一個(gè)完整的文獻(xiàn)通常都需要包括封面、摘要、目錄、引言、正文、總結(jié)、致謝、參考文獻(xiàn)這些內(nèi)容。因此如果要生成一個(gè)可供使用的正確格式的參考文獻(xiàn),就必須包括上面的所有信息的輸入窗口。在這里將java應(yīng)用程序分為了八大模塊,即:封面、摘要、目錄、引言、正文、總結(jié)、致謝、參考文獻(xiàn)。其中封面包括題目、姓名、學(xué)校、系、專業(yè)、年級(jí)、學(xué)號(hào)、校內(nèi)指導(dǎo)老師、校外指導(dǎo)老師及職稱,職稱是老師的屬性;摘要包括中文摘要、中文關(guān)鍵字、英文摘要、英文關(guān)鍵字;正文包括章、節(jié)、子節(jié)、段、圖片、上標(biāo)、下標(biāo)、加粗、斜體及ID、title、entitle、標(biāo)簽和鏈接。通過(guò)這些輸入信息,系統(tǒng)將根據(jù)輸入內(nèi)容在后臺(tái)生成相關(guān)的XML文檔。以下是輸入的主窗口:圖5.1 文獻(xiàn)自動(dòng)生成的主界面增加X(jué)ML文件內(nèi)容的關(guān)鍵代碼如下:string filepath=E:WebsXMLProjectprojectmodel.xml;XmlDocument xmlDoc=new XmlDocument();xmlDoc.Load(filepath);XmlNode root=xmlDoc.SelectSingleNode(project);/查找XmlNodeList nodeList=root.SelectSingleNode(cover).ChildNodes;/獲取project節(jié)點(diǎn)的所有子節(jié)點(diǎn)foreach(XmlNode xn in nodeList)/遍歷所有子節(jié)點(diǎn)XmlElement xe=(XmlElement)xn;/將子節(jié)點(diǎn)類型轉(zhuǎn)換為XmlElement類型if(xe.Name=title)xe.InnerText=txtTitle.Text;else if(xe.Name=name)xe.InnerText=txtName.Text;.(略)else if(xe.Name=teacher1)xe.InnerText=txtTeacher1.Text;xe.SetAttribute(zhicheng,txtZhicheng1.Text);else if(xe.Name=teacher2)xe.InnerText=txtTeacher2.Text;xe.SetAttribute(zhicheng,txtZhicheng2.Text);else if(xe.Name=date)xe.InnerText=txtDate.Text;xmlDoc.Save(filepath);/保存。4.4 DTD文件的設(shè)計(jì)DTD作為一個(gè)XSL的應(yīng)用程序,在語(yǔ)法上應(yīng)該是完全包括在簡(jiǎn)單的XML標(biāo)記規(guī)則中;語(yǔ)義上它注釋的應(yīng)該是科技論文的邏輯結(jié)構(gòu)和內(nèi)容,而不是排版格式或外觀表現(xiàn),其目的是實(shí)現(xiàn)科技論文的按內(nèi)容標(biāo)注??萍颊撐腄TD的設(shè)計(jì)目標(biāo)是:以直觀和簡(jiǎn)潔的方式來(lái)呈現(xiàn)科技論文中有價(jià)值的語(yǔ)義信息。在設(shè)計(jì)時(shí),我們并不考慮日后該DTD描述的科技論文具體會(huì)有哪些用途,只是盡量全面地考慮今后有可能會(huì)被用到的信息,按照該DTD定義,可以完整、規(guī)范地制作成XML文檔,以便于用戶根據(jù)需要獲取相關(guān)的內(nèi)容。這樣做的好處是,基于這些數(shù)據(jù)的服務(wù)不會(huì)被拘禁于定的腳本語(yǔ)言、制作工具及傳輸引擎的囚籠內(nèi),不同的制作及傳輸工具將各顯神通,從而極大限度地滿足客戶的需求。具體地說(shuō),科技論文DTD應(yīng)該滿足以下要求:1 容易格式化,具備格式化提示;2 數(shù)據(jù)定位明確,易于程序查找;3 對(duì)于常用的元素類型和屬性具有簡(jiǎn)短的標(biāo)識(shí)符,不常用的具有描述性的標(biāo)識(shí)符;4 不使用含糊的標(biāo)記手段和技術(shù),將文檔作者導(dǎo)入錯(cuò)誤和不兼容性的機(jī)會(huì)降到最低;5 遵循用戶所熟悉的行業(yè)術(shù)語(yǔ)??萍颊撐慕Y(jié)構(gòu)工整,邏輯性強(qiáng),用詞規(guī)范有規(guī)律,關(guān)鍵詞分布較均勻,相對(duì)其他文體而言易于進(jìn)行結(jié)構(gòu)與語(yǔ)義分析。經(jīng)過(guò)分析與歸納,我們得出以下科技論文的邏輯結(jié)構(gòu):1 封面:包括論文的基本信息,如標(biāo)題、作者、單位、指導(dǎo)老師、年紀(jì)、日期等;2 摘要:包括關(guān)鍵字;3 目錄:中英文目錄;4 前言或引言;5 正文:由段落構(gòu)成,根據(jù)語(yǔ)義可將正文劃分成若干層次,層次又可進(jìn)一步細(xì)分成若干子層次,正文、層次、子層次之間呈嵌套關(guān)系,我們認(rèn)為段落是最小的語(yǔ)義子層;6 附錄;7 參考文獻(xiàn)。在此邏輯結(jié)構(gòu)的基礎(chǔ)上,我們將構(gòu)建起科技論文DTD的整體框架,并進(jìn)一步給出基于科技論文文本內(nèi)容的語(yǔ)義標(biāo)識(shí)項(xiàng);根節(jié)點(diǎn)(project)下面包括封面(cover)、摘要(abstract)、正文(maintext)。關(guān)鍵代碼如下:1 封面(cover)下面包括題目(title)、姓名(name)、學(xué)校(college)、系(department)、專業(yè)(profession)、年級(jí)(grade)、學(xué)號(hào)(sn)、校內(nèi)指導(dǎo)老師(teacher1)、校外指導(dǎo)老師(teacher2)及職稱(zhicheng),職稱(zhicheng)是老師的屬性。2 摘要(abstract)下面包括中文摘要(abstract_cn)、中文關(guān)鍵字(keywords_cn)、英文摘要(abstract_en)、英文關(guān)鍵字(keywords_en)。3 正文(maintext)下面包括章(chapter);章下面包括節(jié)(layerA)、段(paragraph);節(jié)下面包括子節(jié)(layerB)、段(paragraph);子節(jié)下面包括段(paragraph);段(paragraph)包括圖片(image)、內(nèi)聯(lián)圖片(inlineimage)、上標(biāo)(sup)、下標(biāo)(sub)、加粗(emph)、斜體(italicfont)等。部分元素還包含相應(yīng)的屬性。4.5 XML文檔的設(shè)計(jì)XML是W 3C組織定義的計(jì)算機(jī)文檔表示的標(biāo)準(zhǔn)標(biāo)記元語(yǔ)言。XML遵循清晰嚴(yán)格的語(yǔ)法,將數(shù)據(jù)的顯示樣式與數(shù)據(jù)本身分離,具有良好的可擴(kuò)展性。XML借鑒了HTML與數(shù)據(jù)庫(kù)、程序語(yǔ)言的優(yōu)點(diǎn),將內(nèi)容與表現(xiàn)分開,不僅使檢索更為方便,更主要的是用戶之間數(shù)據(jù)的交換更加方便,可重用性更強(qiáng)。本系統(tǒng)應(yīng)用XML技術(shù)構(gòu)建仿真報(bào)告文檔結(jié)構(gòu)模板,使文檔結(jié)構(gòu)的變動(dòng)變得比較方便。用UML建模XML數(shù)據(jù)文檔,必須考慮兩因素:1XML數(shù)據(jù)模式的抽象描述;2UML建模元素表達(dá)能力和對(duì)應(yīng)關(guān)系。XML是一棵嚴(yán)格層次化的嵌套數(shù)據(jù)樹,由元素和屬性構(gòu)成樹上的節(jié)點(diǎn)。根據(jù)文獻(xiàn)描述,將數(shù)據(jù)類型劃分成三種:內(nèi)建數(shù)據(jù)類型、簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型。圖1表示的就是XML數(shù)據(jù)定義模型:圖5.5 XML數(shù)據(jù)定義模型其中,include表示嵌套包含關(guān)系,用于構(gòu)成樹型結(jié)構(gòu)關(guān)系。簡(jiǎn)單數(shù)據(jù)類型是在內(nèi)建數(shù)據(jù)類型基礎(chǔ)上擴(kuò)充得到,用來(lái)定義簡(jiǎn)單元素和屬性。復(fù)雜數(shù)據(jù)類型用來(lái)定義復(fù)雜元素,要求至少包含一個(gè)子節(jié)點(diǎn)(或者是元素或者屬性)。UML建模功能豐富,可以通過(guò)不同關(guān)系反映對(duì)象之間邏輯約束。但是,一個(gè)好的模型應(yīng)該具有高內(nèi)聚和松耦合,使得宏觀上更容易理解?;谶@樣一個(gè)理念,可以減少一些顯而易見(jiàn)的模型元素。以下是封面的設(shè)計(jì)代碼:基于模型的診斷XXX軟件學(xué)院軟件工程2002級(jí)高考生XXXXXXXXX2006年6月X日 處理圖片部分的代碼:對(duì)象的作用對(duì)象是一個(gè)圖像,用于顯示圖片,其src屬性指定圖片文件的地址。4.6 XSL文件的設(shè)計(jì)1引入命名空間2文檔書簽的實(shí)現(xiàn)通過(guò)和的配合使用來(lái)實(shí)現(xiàn)。其中*代表文檔內(nèi)要鏈接到的元素的ID