朱培毅
1 引言
隨著網(wǎng)絡技術的普及,越來越多的數(shù)字圖書館系統(tǒng)出現(xiàn)在互聯(lián)網(wǎng)上。而由于經(jīng)費、收益和網(wǎng)絡安全等方面的原因,這些數(shù)字圖書館系統(tǒng)都在相對封閉的體制內(nèi)運行,各種圖書元數(shù)據(jù)庫大都以結構化數(shù)據(jù)的形式存儲在各種大型數(shù)據(jù)庫中,不同館際之間的互操作性很差。各自封閉的數(shù)字圖書館系統(tǒng)不適應網(wǎng)絡社會知識開放、共享的趨勢。雖然很多網(wǎng)絡圖書館通過中間件技術或者數(shù)據(jù)庫授權的方式實現(xiàn)這些數(shù)據(jù)的遠程訪問,但這種訪問需要對雙方的底層開發(fā)程序進行修改,技術難度大,發(fā)量較困難。
基于以上問題,本文提出一種基于XML的圖書元數(shù)據(jù)管理系統(tǒng)。該系統(tǒng)在用戶界面上與常用的圖書館相同;在圖書元數(shù)據(jù)的存儲方式上,采用了開放式的XML技術。這樣,基于廣域網(wǎng)的任何圖書管理系統(tǒng),只要能夠獲取該圖書元數(shù)據(jù)的存儲地址,就能夠訪問該圖書館的資源,實現(xiàn)館際資源共享。
2 系統(tǒng)概述
從功能上,基于XML的圖書元數(shù)據(jù)管理系統(tǒng)設計與常見的圖書管理系統(tǒng)沒有本質(zhì)的區(qū)別,包括:圖書元的登記、元數(shù)據(jù)信息存儲、圖書檢索以及系統(tǒng)維護等功能(見圖1)。
系統(tǒng)采用常見的B/S體系,用戶界面通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),業(yè)務數(shù)據(jù)單獨存儲,形成典型的三層結構(見圖2)。同一般B/S結構不同的是,業(yè)務數(shù)據(jù)采用了XML格式,用XML來表示這些數(shù)據(jù)。這樣,任意用戶需要訪問這些圖書資源時,在已知該圖書元數(shù)據(jù)的存儲地址的情況下,可以通過常用的XML訪問技術(本文中采用dom數(shù)據(jù)島)來查找數(shù)據(jù)資源。以下重點分析圖書元數(shù)據(jù)的存儲和訪問功能的實現(xiàn)。

3 基于XML的圖書元數(shù)據(jù)表示方法
3.1 圖書元數(shù)據(jù)設計關于圖書元數(shù)據(jù),當前采用較多的是Dublin core 元數(shù)據(jù),該元數(shù)據(jù)吸納了圖書所具有的編目、分類、文摘等條件。它是在利用計算機、網(wǎng)絡的自動搜索、編目、索引、檢索等研究成果的基礎上發(fā)展起來的;是描述、支持、發(fā)現(xiàn)、管理和檢索網(wǎng)絡資源的信息組織方式,其最大特點是數(shù)據(jù)結構簡單,信息提供者可直接編碼。這里,選用表1中的描述型元數(shù)據(jù)來表示網(wǎng)絡圖書館中所存儲的圖書信息。
3.2 XML語言XML作為數(shù)據(jù)交換和網(wǎng)絡計算的基礎,已經(jīng)成為一種網(wǎng)絡通用語言,通過XML來表達知識、傳遞數(shù)據(jù),不僅跨越了平臺,還跨越了空間(internet的范圍將擴展到無線),更跨越了設備(XML的數(shù)據(jù)與表現(xiàn)的分離可以成為不同終端間交換信息的載體)。
在語言形式方面,XML與HTML在結構上極為相似,兩者的不同點在于XML允許用戶自己定義文檔中的標記。XML中共有六種標記:元素(elements),屬性(attributes),實體引用(entity references),注釋(comments),處理指令(processing instructions)和CDATA段(CDATA sections)。其中,元素是標記的最常見的形式,由尖括號分隔,和人們熟悉的HTML中的標記看起來沒什么兩樣。
用XML表示的圖書元數(shù)據(jù)可以存為網(wǎng)頁的形式,供其他用戶訪問,實現(xiàn)圖書信息的共享。表1中所示的圖書元可以用XML表示如下。