朱培毅
1 引言
隨著網(wǎng)絡(luò)技術(shù)的普及,越來(lái)越多的數(shù)字圖書(shū)館系統(tǒng)出現(xiàn)在互聯(lián)網(wǎng)上。而由于經(jīng)費(fèi)、收益和網(wǎng)絡(luò)安全等方面的原因,這些數(shù)字圖書(shū)館系統(tǒng)都在相對(duì)封閉的體制內(nèi)運(yùn)行,各種圖書(shū)元數(shù)據(jù)庫(kù)大都以結(jié)構(gòu)化數(shù)據(jù)的形式存儲(chǔ)在各種大型數(shù)據(jù)庫(kù)中,不同館際之間的互操作性很差。各自封閉的數(shù)字圖書(shū)館系統(tǒng)不適應(yīng)網(wǎng)絡(luò)社會(huì)知識(shí)開(kāi)放、共享的趨勢(shì)。雖然很多網(wǎng)絡(luò)圖書(shū)館通過(guò)中間件技術(shù)或者數(shù)據(jù)庫(kù)授權(quán)的方式實(shí)現(xiàn)這些數(shù)據(jù)的遠(yuǎn)程訪問(wèn),但這種訪問(wèn)需要對(duì)雙方的底層開(kāi)發(fā)程序進(jìn)行修改,技術(shù)難度大,發(fā)量較困難。
基于以上問(wèn)題,本文提出一種基于XML的圖書(shū)元數(shù)據(jù)管理系統(tǒng)。該系統(tǒng)在用戶界面上與常用的圖書(shū)館相同;在圖書(shū)元數(shù)據(jù)的存儲(chǔ)方式上,采用了開(kāi)放式的XML技術(shù)。這樣,基于廣域網(wǎng)的任何圖書(shū)管理系統(tǒng),只要能夠獲取該圖書(shū)元數(shù)據(jù)的存儲(chǔ)地址,就能夠訪問(wèn)該圖書(shū)館的資源,實(shí)現(xiàn)館際資源共享。
2 系統(tǒng)概述
從功能上,基于XML的圖書(shū)元數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與常見(jiàn)的圖書(shū)管理系統(tǒng)沒(méi)有本質(zhì)的區(qū)別,包括:圖書(shū)元的登記、元數(shù)據(jù)信息存儲(chǔ)、圖書(shū)檢索以及系統(tǒng)維護(hù)等功能(見(jiàn)圖1)。
系統(tǒng)采用常見(jiàn)的B/S體系,用戶界面通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),業(yè)務(wù)數(shù)據(jù)單獨(dú)存儲(chǔ),形成典型的三層結(jié)構(gòu)(見(jiàn)圖2)。同一般B/S結(jié)構(gòu)不同的是,業(yè)務(wù)數(shù)據(jù)采用了XML格式,用XML來(lái)表示這些數(shù)據(jù)。這樣,任意用戶需要訪問(wèn)這些圖書(shū)資源時(shí),在已知該圖書(shū)元數(shù)據(jù)的存儲(chǔ)地址的情況下,可以通過(guò)常用的XML訪問(wèn)技術(shù)(本文中采用dom數(shù)據(jù)島)來(lái)查找數(shù)據(jù)資源。以下重點(diǎn)分析圖書(shū)元數(shù)據(jù)的存儲(chǔ)和訪問(wèn)功能的實(shí)現(xiàn)。
3 基于XML的圖書(shū)元數(shù)據(jù)表示方法
3.1 圖書(shū)元數(shù)據(jù)設(shè)計(jì)關(guān)于圖書(shū)元數(shù)據(jù),當(dāng)前采用較多的是Dublin core 元數(shù)據(jù),該元數(shù)據(jù)吸納了圖書(shū)所具有的編目、分類、文摘等條件。它是在利用計(jì)算機(jī)、網(wǎng)絡(luò)的自動(dòng)搜索、編目、索引、檢索等研究成果的基礎(chǔ)上發(fā)展起來(lái)的;是描述、支持、發(fā)現(xiàn)、管理和檢索網(wǎng)絡(luò)資源的信息組織方式,其最大特點(diǎn)是數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,信息提供者可直接編碼。這里,選用表1中的描述型元數(shù)據(jù)來(lái)表示網(wǎng)絡(luò)圖書(shū)館中所存儲(chǔ)的圖書(shū)信息。
3.2 XML語(yǔ)言XML作為數(shù)據(jù)交換和網(wǎng)絡(luò)計(jì)算的基礎(chǔ),已經(jīng)成為一種網(wǎng)絡(luò)通用語(yǔ)言,通過(guò)XML來(lái)表達(dá)知識(shí)、傳遞數(shù)據(jù),不僅跨越了平臺(tái),還跨越了空間(internet的范圍將擴(kuò)展到無(wú)線),更跨越了設(shè)備(XML的數(shù)據(jù)與表現(xiàn)的分離可以成為不同終端間交換信息的載體)。
在語(yǔ)言形式方面,XML與HTML在結(jié)構(gòu)上極為相似,兩者的不同點(diǎn)在于XML允許用戶自己定義文檔中的標(biāo)記。XML中共有六種標(biāo)記:元素(elements),屬性(attributes),實(shí)體引用(entity references),注釋(comments),處理指令(processing instructions)和CDATA段(CDATA sections)。其中,元素是標(biāo)記的最常見(jiàn)的形式,由尖括號(hào)分隔,和人們熟悉的HTML中的標(biāo)記看起來(lái)沒(méi)什么兩樣。
用XML表示的圖書(shū)元數(shù)據(jù)可以存為網(wǎng)頁(yè)的形式,供其他用戶訪問(wèn),實(shí)現(xiàn)圖書(shū)信息的共享。表1中所示的圖書(shū)元可以用XML表示如下。