• 沒有找到結果。

機讀編目格式與延伸標示語言互轉之定義研究

N/A
N/A
Protected

Academic year: 2021

Share "機讀編目格式與延伸標示語言互轉之定義研究"

Copied!
13
0
0

加載中.... (立即查看全文)

全文

(1)

53(May ’05)18-30 ISSN 1023-2125

機讀編目格式與延伸標示語言互轉之定義研究

Study on Schema Definition for MARC and XML Record Conversion

余 顯 強

Shien-Chiang Yu

世新大學資訊傳播學系副教授

Associate Professor, Department of Information and Communications Shih-Hsin University E-mail:ysc@cc.shu.edu.tw

【摘要 Abstract】

由於 XML 具備文件格式定義的特點,能夠規範資料著錄的標準依據,使其適合作為各種系統之間, 資料交換的理想工具。圖書館界使用資料交換的 ISO 2709 格式,在使用上因為無法界定資料所屬的 MARC、字碼種類,以及資料無法直接呈現在網頁上等缺點,造成許多自動化應用上的限制。因此,本 研究採用 XML 做為書目資料交換格式,分析國內外制定之方法與參酌相關定義內涵,研擬以 XML Schema 定義書目資料的文件結構定義,提供軟體轉換 ISO2709 檔案資料與 XML 文件之間的依據,並透過系統 分析方法檢驗其可行性,以確定符合兩者資料格式之間互轉的需求。

XML has become the most standard format of data processing for various kinds of information systems. It contains the feature of document type definition and follows the standard format in data input, so it becomes the ideal tool for inter-system data exchange or transformation. Compared to XML, the ISO 2709 format is limited by certain drawbacks when applied to data exchange. It is neither able to recognize the type of MARC and character code, nor functional in direct presentation on the webpage. The two drawbacks have brought about restrictions on automatic applications.

This study adopts XML as the data format for bibliographical data exchange to analyze both foreign and domestic methods for schema formations, with references to interrelated definitions and contents. From the research result, this study plans to construct a software for the data transformation between ISO2709 files and XML documents on the basis of XML Schema. Moreover, the system analysis method will be employed to verify the feasibility of the data transformation.

關鍵詞 Keyword

機讀編目格式 延伸標示語言 資料型別定義 綱要 資料轉換 程序設計

MARC;Machine Readable Cataloging format;XML;Extensible Markup Language;DTD;Document Type Definition;Schema;Data transformation;Process design

(2)

壹、前言

XML 支援語言中立(Language neutral) 和平台 中立(Platform neutral)的定義,並且能提供 Web 環 境上結構化文件交換的資料格式,使得 XML 成為 多數資訊系統資料處理的主要格式標準。其具備文 件格式定義的特點,能夠規範資料著錄的標準依 據,使得 XML 適合作為各種系統之間,資料交換 與訊息溝通的理想工具。而圖書館自動化系統使用 資料交換的 ISO 2709 格式,因為使用上無法界定 資料所屬的 MARC、字碼種類、無法直接修改資 料內容、以及資料無法直接呈現在網頁上等缺點, 造成許多資訊應用上的限制。此外用來存取各類分 散式系統資源的 Z39.50 協定,其語法結構與格式 頗為複雜,與今日網際網路便捷與簡易的環境相 比,需要較高的建置與維護成本。圖書館自動化系 統雖具完備資料處理與檢索特性,但目前最大的瓶 頸仍在於跨系統間的資料傳遞與交換分享,使用者 必須熟悉各個系統不同的操作方式或資料結構,方 能順利取得所需資源。 國際間針對博物館、圖書館及檔案館等,所研 訂 的 Metadata 著 錄 格 式 包 括 CIMI (Computer Interchange of Museum Information) 、 CDWA (Categories for the Description of Works of Art)、EAD (Encoding Archival Description)、FGDC (Federal Geographic Data Committee)、DC(Dublin Core)等均 是以 XML 作為資料處理的標準。國內中文書目資 料處理格式之文件格式仍停留在 ISO 2709 階段, 使得圖書館書目資源未能於網路上快速流傳,進而 與數位典藏相整合。故作為國內書目資源交換規範 的 中 文 編 目 文 件 格 式 定 義 (CMARC Schema/ DocumentTypeDefinitions,CMARC Schema/DTD)與 格式轉換程序之研訂實有其迫切之必要性。 因應網路上資料傳輸標準格式的應用趨勢與 資料交換格式標準化,本研究研擬制定 ISO 2709 格式與 XML 文件格式的轉換定義與執行流程分 析,研究步驟如下: 一、依據文獻與定義內涵,分析 DTD 與 XML Schema 的適用性,以便決定適用於資料轉換 的 XML 文件結構定義之依據。 二、分析適合處理 MARC 書目紀錄之 ISO 2709 格式與 XML 文件格式轉換處理所需之對照 模式,以及分析適用各種不同 MARC 格式之 ISO 2709 檔案與 XML 文件互轉的共通性結 構,編寫型別定義檔。 三、依據前述制定之轉換定義,分析轉換之適當 流程與可能遭遇之問題。

貳、機讀格式的發展

一、MARC 標準

機讀格式(Machine Readable Catalogue, MARC) 起 源 於 1950 年 美 國 國 會 圖 書 館 (Library of Congress, LC)開始投入自動化可行性的研究,並於 1966 年 1 月成立先導計劃,也就是 MARC I,並於 1967 年修改為 MARC II。(Chan, 1994)此後,世界 各國或地區相繼採用 MARC II 格式建立各自的機 讀 目 錄 系 統 。 (International Federation of Library Associations and Institutions[IFLA], 1999) 各 國 的 MARC 格式除了在欄號(tag)、分欄(subfield)識別符 號和資料列舉項目有所差異外,整體結構均與 MARC II 相同,其格式具有下列特性: (一)共包括 001 至 999 個欄號可供使用,包括事 先定義與使用者自訂的欄號。 (二)欄號內容依據編目規則定義詳盡,其下設分 欄,用於著錄內容。 (三)欄號性質明確,多數欄號可供檢索使用。 (四)每筆 MARC 紀錄可分為指引、控制欄號與 一般資料欄號三個部份。 國內外使用的 MARC 標準,主要包括下列三 種:

(3)

(一)USMARC

在美國,MARC、LCMARC、USMARC 三個 名詞常交互使用,其名稱有 MARC、MARC Ⅱ, 皆統稱為 LCMARC。而 USMARC 是 LCMARC 的一個後續名詞,因其通過 ANSI,成為美國國家 標準,遂稱為 USMARC。MARC 不但是圖書館 自動化作業書目建檔之方法,也成為推展圖書館各 項自動化的依據,特別是在書目記錄之交換,書目 資訊之分享上,MARC 確實發揮了書目控制的功 能(胡歐蘭,1988)。1995 年美國國會圖書館負責的 國 家 數 位 圖 書 館 計 畫 (National Digital Library Program, NDLP)-美國記憶(American Memory)亦 採用 USMARC 作為資訊描述的 Metadata(Library of Congress[LC], 2004),並增加欄號 856(Electronic location and access),紀錄數位物件或與其相關聯的 其他電子資源的儲存位址和存取方式。

(二) UNIMARC

在 USMARC 之後,國際上陸續產生了各國的 MARC , 例 如 英 國 的 UKMARC 、 加 拿 大 的 Canadian MARC、日本的 Japan MARC 等。依據 統計,在 1970 年即產生了超過 20 種以上的 MARC 格式。(IFLA, 1999)由於各國需求不同,導致這些 格式彼此之間有差異,造成資料交換之負擔與障 礙。為解決各 MARC 之間不相容(Incompatibility) 與 解 決 彼 此 之 間 相 互 轉 換 的 問 題 , 國 際 圖 書 館 協 會 聯 盟 (International Federation of Library Associations and Institutes,IFLA)於 1972 年成立內 容 標 示 工 作 小 組 (Working Group on Content Designators),研究內容標示與適應差別的解決辦 法,進而探討一國際認可的機讀格式,並於 1976 年底完成了 UNIMARC 格式。(陳昭珍,1992) (三) Chinese MARC 為推行中文圖書資料的電腦建檔及自動化,我 國台灣地區也於 1981 年 1 月出版了「中文圖書機 讀編目格式」第一版。以 UNIMARC-1980 為藍本, 先後參考「美國國會圖書館書目機讀編目格式」 (MARC Formats for Bibliographic Data-1980)及其 他各國之機讀格式,如:英國的 UKMARC,加拿 大的 Canadian MARC,法國的 Inter-MARC 及澳 洲的 Australian MARC 等。磁帶上之書目著錄則 採用 ISO 2709 格式。中外文書目著錄格式,則分 別依據「中國編目規則」及 AACR 2 為標準。「中 文圖書機讀編目格式」於同年 7 月修訂出版第二 版,1982 年修訂再版時改稱為「中國機讀編目格 式」第一版(鄭恆雄,1995;國立中央圖書館中國 機讀目錄格式修訂小組,1989),並於 1996 年完成 第四版修訂,1997 年正式公佈發行。現今最新版 為 2002 年 2 月 27 日教育部以臺設(三)字「第 0910166084 號」令公布之第四版修訂版。(中國機 讀目錄格式修訂小組,2002) 二、MARC 轉換 ISO 2709 是早先 MARC 書目資料的資訊與文 件 格 式 的 轉 換 標 準 依 據 (International Standards Organization [ISO], 1996),由於 ISO 2709 透過控制碼 0x1D( 紀 錄 分 隔 符 號 ) , 0x1E( 分 欄 分 隔 符 號 ) , 0x1F(欄號分隔符號),每一筆資料紀錄之中只能支 援資料欄號、分欄與指標三個層次,且無法直接由 資料內容界定 MARC 類型、字碼總類,且資料無 法直接呈現在網頁上等缺點,無法適用於現今的網 際網路環境;資料格式採用變長設計,每筆紀錄使 用 0x1D 控制碼區隔,並在每筆紀錄前 5 字元標示 每筆資料的長度,無法直接修改資料內容以防止造 成長度計算錯誤,而且 5 個字元長度的標示亦限制 了紀錄內容的大小。因此,在網際網路電子全文與 數位物件的應用趨勢下,ISO 2709 實有其無法滿 足現今資訊處理與交換的限制。 由於數位化資源的大量成長,並期望圖書資訊 更為有效的透過網際網路傳播與應用,史丹佛大學

(4)

醫 學中心 (Stanford University Medical Center) 的 Lane Medical Library於 1998 年開始Medlane計畫。 此計畫第一步即是規劃XMLMARC,於 1999 年 12 月發表執行的軟體,透過對照對應的方式將MARC 轉換成XML文件。(Medlane:XMLMARC, 2002)此計 劃包括下列各項目標:(Tennant, 2002, p. 4) (一) 能依據使用者提供的對照表,將 MARC 記 錄轉成 XML 文件的彈性轉換功能。 (二) 允許實驗測試不同 XML 文件的格式以便決 定適用於圖書館較佳的結構。 (三) 確保轉換過程能保有 MARC 記錄的效用, 而且能夠以開放、軟體獨立的方法來儲存。 1990 年美國國會圖書館網路發展和 MARC 標 準 辦 公 室 (Network Development and MARC Standards Office)亦開始進行 MARC DTDs 的編訂 計畫,把機讀編目記錄視為一特定的文件類型,將 USMARC 中的資料元素(Element)予以定義。最初 主要目的在建立一個標準的 SGML DTD 以供編目 資料從 MARC 資料架構轉成 SGML 文件格式。 (Keith, 2004) 1994年12月LC、加拿大國家圖書館(National Library of Canada)、大英圖書館(British Library)推 動USMARC、CAN/MARC、UKMARC合併與簡化 (Harmonization and simplification)的計畫,希望整 合處理英文資料的MARC,擴展為全球共通性、一 致性的機讀格式。(Kokabi, 1995)1999年USMARC 和 CAN/MARC 完 成 整 合 並 發 表 為 MARC 21 。 MARC 21消除了許多異質MARC之間欄位的差 異,使資料的分享更為便利,命名為MARC 21 是希望能夠在進入第21世紀,將此包含國際字碼 與 格 式 的 MARC 提 供 世 界 通 用 。 (The Network Development and MARC Standards Office, LC, 2002) 大英圖書館也在獲得英國圖書館界支持後,於2000 年開始進行UKMARC轉換至MARC 21的計劃,並 在 2004年更換 自動 化系統 之後 完全採 用MARC

21。(Khurshid, 2002;The British Library, 2005) 隨著技術的發展和變化,在正式公佈MARC 21之前,1998年2月全球資訊網聯盟(World Wide Web Consortium, W3C)公佈了XML文件標準,LC 網路發展和MARC標準辦公室便開始研擬MARC 21、ISO 2709與XML文件之間的轉換,並於2002 年 9 月 正 式 公 布 MARC 21 XML Schema 定 義 (McCallum & Keith, 2002),且提供適當轉換MARC 21與XML文件的Java 應用程式介面(Application Program Interface, API)。

參、標示語言及相關標準

一、SGML簡介

1969 年 IBM 公司開發了 GML(Generalized Markup Language),目的在把資料內容從格式中抽 離出來,以達到資訊通用性。GML 透過文件型別 定義(Document Type Definition, DTD)來定義標籤 及規範文件結構,以其所定義的標籤來標示文件的 內容,並使用有效性(Validation)檢查的方法驗證文 件是否符合 DTD 所定義的結構。1978 年,美國國 家標準局(ANSI) 將 GML 規範成國家標準。1986 年 GML 被 ISO 採納成為國際標準-ISO 8879: 1986 , 並 更 名 為 標 準 通 用 標 示 語 言 (Standard Generalized Markup Language, SGML)。不過如表一 所示,SGML 具有很大的彈性,可以透過它解決 HTML 所有的問題,但就是因其太過龐大與複雜, 以致於雖然它在 1986 年就成為國際標準,卻難以 在網際網路的世界被廣泛應用。(Cagle, 2000) 二、XML 的歷史與特色 (一)歷史 基於 HTML 本質上無法呈現文件內容的結 構,加上瀏覽器大戰所造成的失控,因此 W3C 在 1996 年底提出了 SGML 簡化版-XML 的草案,並

(5)

由原先的「SGML 編輯審查委員會」所改組的 「XML 工作組」與 XML 特殊議題小組(XML

Special Interest Group)共同負責規劃,希望能提出 如具備完整文件內涵的標示語言。XML 將 SGML 表一:SGML 優缺點 優 點 缺 點 y 明確的定義出文件的結構,並且將文件的結構與 本文內容分離; y 有彈性 (Flexibility),能描述任何的資訊結構與 任何複雜的文件; y 非專屬性 (Non-proprietary),為國際開放式標 準,非業界標準; y 平台獨立性(Platform independence),可以跨越平 台和軟體; y 系統獨立性 (System independence),平台和軟體 皆獨立,利於文件的交換與長期保存; y 資訊再利用性 (Re-usability),文件之移轉性高。 y 應用程式不易開發; y SGML 文件不易在 Web 上傳佈; y 缺乏廠商的支援。 中許多不常用的特性刪除,大幅簡化了相關電腦應 用程式在處理及設計上的複雜度,並於 1998 年 2 月 10 日公佈 XML 1.0 規格建議書。目前 XML 最 新的版本 1.1 也已經在 2004 年 2 月 4 日通過,此 一版本主要是修正 XML 一些使用規則上的問題, 並更強化 Unicode 字碼的支援。 (二)特色 XML 的重點不在於如何顯示資料,XML 主要 的應用目的是在於如何包裝資料,並以更簡化的方 式傳送這些資料,這一點與 HTML 著重於如何將 資料呈現在網頁的目的有明顯的不同。大部分的標 示語言,包括 HTML 都是「固定式」的標示語言。 也就是說,這些標示語言的標籤是固定的,只能使 用事先規範定義的標籤。而 XML 並沒有定義任何 的標籤,它只提供了一個架構的標準,讓使用的人 自行或是使用別人定義的標籤,因此彈性、延伸性 都比其他「固定式」的標示語言更強大與方便。 XML 文件本身藉由「標示」表達資料的性質, 而標示則是透過由「標籤」所標記,提供軟體辨識。 標籤分為「起始標籤」與「結束標籤」,夾在「起 始標籤」與「結束標籤」範圍內的便是「資料」。 該筆資料可能還有下一層標籤,也可能即為資料內 容。此種標示方式,如同將 ISO 2709 欄位或欄號 的控制碼(0x1E、0x1F)與欄號、分欄合併成為轉入 (Shift in)與轉出(Shift out)標識符號,不僅能夠達成 原有控制碼標示的區隔意義,亦可便於欄位屬性的 剖析(Parsing)與擴充。

肆、文件型別定義

XML 文件有兩種形式,一種稱為 XML 合於 語法的(Well-formed)XML,另一種則稱為有效的 (Valid)XML,兩者最大的差別在於 Well-formed XML 表示符合文法規範的 XML 文件,而 Valid XML 則不僅符合文法規範,還包含有文件的結構 定義。XML 最初公佈時採用 DTD 作為定義和規範

(6)

XML 文件架構的一組規則,以便能提供應用系統 或剖析器驗證 XML 文件結構的有效性,或是提供 編輯工具能夠遵循定義的架構來產生 XML 文件。 由於 DTD 是沿用 SGML 的型別定義,因此本 質上有許多如表二所示的限制,且使用上能夠提供 的定義不僅不能完全滿足現實 Metadata 資料定義 的需求,也無法將 XML 文件視為一個物件導向的 型別。(Cagle, 2000) 表二:DTD 語法的限制 預設值 僅提供屬性(Attribute)欄位的預設值宣告,而無元素(Element)欄位的預設值定義。 資料型態 DTD 只有 PCDATA, CDATA 等資料型態宣告,無法指定元素內容或屬性資料型態。 元素出現次數 某些欄位出現限制無法宣告。例如 DTD 的元素內容宣告(A|B)*無法保證之中 A 和 B 僅可只出現一次。

語法規則 與 Well-formed XML 語法不同。例如元素的宣告語法<!ELEMENT book (title, authorlist, pub_date?)> 與 屬 性 的 宣 告 語 法 <!ATTLIST book code CDATA #REQUIRED>均違反 XML Well-formed 規則。 內容辨識 混合型態的內容無法精確區分。例如<SNO>123</SNO>內容無法直接分辨是整數還 是字串。 名稱空間 無法使用。 數集 元素的數集(Cardinality)關係只具備 0,1 和「多個」的條件。 群組宣告 缺乏元素與屬性的群組命名設定,無法重複使用先前宣告之元素或屬性。 由於 DTD 語法應用在 XML 文件上的諸多限 制,產業界與學術界也提出許多的建議書希望能取 代或支援 DTD,於是 W3C 在 1998 年成立了綱要 工作小組(Schema Working Group)-XML-Data,以 微軟、ArborText 以及 DataChannel 所提出的綱要 計畫為主,比 XML 1.0 提早完成。另外還有一個 由微軟和 IBM 所贊助的綱要計劃是 Document Content Description (DCD),XML-Data 和 DCD 均 提供一個完整的解決方案以取代 DTD,包括支援 實體宣告(Entity declarations)以及資料型態等。 1998 年中,XML-Dev 的會員郵寄名單(Mailing list) 建 立 了 他 們 自 己 的 綱 要 語 言 , 也 就 是 著 名 的 Xschema,當它呈交至 W3C 時便成為 Document Description Markup Language (DDML) 。不同於 XML-Data 和 DCD,DDML 期望它的實體宣告能 容納本身所定義的標準,並計畫建立其他資料型別 (Data typing)標準,以作為更多的基準方法。另一 個 方 案 , 物 件 導 向 的 XML 綱 要 (Schema for Object-Oriented XML,SOX)將物件導向程式應用 到綱要的發展之中。以上這些方案並不是提供一般 性的使用或完整的應用,但全部都是提供使用其他 XML 文件描述 XML 文件的工具。 W3C 的 Schema 工作小組參酌了這些 Schema 相關的提案,並整合上述這些業界所提出規格的優 點及特性,訂定了 XML Schema 的標準以供實際 使用上的需要,並於 2001 年 5 月 2 日正式成為 W3C 的一個建議(Recommendation)標準。(World Wide Web Consortium, 2001) XML Schema 本身也 是一種標準的 XML 文件,其功能與 DTD 一樣, 都是定義 XML 文件結構的一種標準。和 DTD 比

(7)

較,XML Schema 能夠提供下列的優點:(Ioannides, 2000) (一) 使用標準的 XML 來定義整個 XML Schema, 不僅編輯容易,也能夠透過標準的剖析器來 解析。 (二) 能夠明確地設定結構中的元素數量,亦能宣 告節點的內容為封閉式(僅能包含特定宣告 的子元素),或是開放式(能夠包含任何子元 素)的結構。 (三) 透過名稱空間(Namespace)的使用,使能夠在 相同的文件中載入多個 XML Schemas。 (四) 能夠在 XML Schema 內定義原型(Archetype) , 提 供 基 本 的 繼 承 (Inheritance) 、 封 裝 (Encapsulation)等物件導向功能。 基於 XML Schema 所能提供超越 DTD 對文件 結構更為精確的優點,2002 年 7 月,LC 網路發展 和 MARC 標準辦公室制定完成了 MARC 21 資料 使用 XML 文件結構的 XML Schema 定義並於 9 月 正式公佈,此定義是 LC 與 OCLC、RLG 合作制定, 並由加拿大國家圖書館與美國國家醫學圖書館檢 視。(Anonymous, 2002)

伍、綱要定義依據

由上述分析可獲得下列三項結論: (一) 為因應網際網路傳輸與文件標準規範,以 及參考國際應用的趨勢,採用 XML 文件格 式處理 MARC 記錄有其必要性。 (二) 以 XML 做為文件處裡格式的 Metadata,能 夠藉由 DTD 或 XML Schema 描述其結構。 (三) XML Schema 所能提供超越 DTD 對文件結 構更為精確的優點,且 XML Schema 本身即 為 XML 文件,在資訊系統處理上有其優勢。 因此,本研究採用 XML Schema 作為 ISO 2709 檔案與 XML 文件轉換的定義依據。此外,以 XML 文件格式記錄 MARC 各欄位的內容,在定義 XML Schema 的綱要定義結構並不複雜,只需逐一將 MARC 的欄號、指標、分欄逐一依據 MARC 結構 的先後與層屬關係宣告即可。實際分析的重點應是 實際在制定上必須考量現有 ISO 2709 資料轉換 XML 文件的結構與字碼處理等層面。依據「國際 標準組織第 2709 號標準」(ISO 2709-1981)格式與 CNS13148 標準的定義,每個記錄結構形式分別由 三部分組成,包括:(Holt, 1987) (一) 記錄標示(Record label):由 24 個字元組成。 (二) 記錄指引(Record directory):包含欄號(3 個 字元長度)、長度(4 個字元長度)與起始位置 (5 個字元長度),表示對應的資料欄位所屬 的欄號、資料長度與在記錄中的位置。 (三) 資料欄位(Data field):變動長度,並有區隔 符號分開各分欄資料。 由此可知,ISO 2709 格式的 MARC 資料結構 為變長形態,每筆記錄的長度由記錄標示前五字元 表示,記錄中各欄號與所屬分欄資料分別由「紀錄 指引」內的欄號、資料長度、位置表示。此種模式 與 XML 階層式的表示方式不同,且每筆 ISO 2709 檔可依據記錄標示的長度配合區隔符號(Delimiter) 區隔各筆資料,所以可以容納多筆 MARC 記錄, 包括書目、權威或館藏資料。而 XML 雖然以紀錄 為單位,但可以自訂標籤的特性,在資料紀錄之前 定義一群組的元素,將書目、權威或館藏紀錄的元 素以「可重複」型態宣告於其內,即可在一筆 XML 文件內包含多筆紀錄。因此在規劃 XML Schema 時,必須考慮每筆 XML 文件亦須可以容納多筆 MARC 記錄的可能,以便能達成一筆 XML 文件對 應一筆 ISO 2709 檔案。 Medlane 計畫能夠採用多種程式方法提供圖 書館將 MARC 記錄轉換成 XML 文件,不過採用 的方式是使用定義 MARC 轉換成 XML 文件的欄 位對照表(Mapping tables)。此種方式優點是簡化 MARC 與 XML 文件資料間轉換定義的工作,只需

(8)

定義兩種格式之間的欄位關係即可進行相互轉換 的工作,並無異質 MARC 之間一對多、多對一、 多對多等欄位複合的問題。(余顯強,1997)縱使欄 位間有複合對應的關係,基於只需透過對照表的訂 定,圖書館各種不同 MARC 之間轉換也多採用此種 方式,包括北歐諸國的 Nordic SR-net 計畫(Hakala, 1994)、歐洲的 EUROPAGATE Gateway System 等均 採用對照表方式執行轉換功能。但是對照表必須考 量維護上的缺點。當修訂 MARC 定義或改變 XML Schema 等定義時,必須同步修正對照表之內容, 否則資料必定會發生錯置情況,如此需要人工介入 對照表的維護,實有違自動化的精神。因此制定的 XML Schema 定義必須能夠作為格式轉換的依 據,不需額外定義轉換的欄位對照表。 國內外近年來已有許多相關以 XML 處理 MARC 紀 錄 的 型 別 定 義 研 究 , 主 要 多 是 依 據 DTD 制定 MARC 資料的結構規範(The Network Development and MARC Standards Office, LC, 2002;楊 翔淳,2002),撰寫方式各有不同,且多是採用 MARC 的欄號作為元素內標示之名稱識別。由於 這些定義研究均屬較先期之 DTD 格式,無法應用 XML Schema 在定義上之優勢,且採用 MARC 欄 號作為元素之欄位名稱宣告的識別方式,導致定義 僅能專屬於特定版本之機讀格式。並且依據此種方 式而制定之 MARC DTD 定義,主要均只針對系統 以 XML 文件格式處理 MARC 紀錄時,所需依據 的資訊管理結構定義,並無法將產生之 XML 直接 還原回 ISO 2709 格式。 基於上述因素,雖然LC在 1996 年即依據 SGML DTD制定了書目的MARC綱要定義,2000 年因應XML的應用趨勢改為XML DTD,但是由於 XML Schema比較適合用於MARC定義的特性,最 後仍是採用XML Schema作為MARC21 的定義。 (Library of Congress publishes MARC 21 XML schema and transformation tools, 2002)此外,採用 MARC21 作為書目資料分享與獲取Metadata之一 的OAI-PMH,在 2001 年 7 月對文件型別定義的規 範,也將綱要的定義由DTD改成XML Schema(余顯 強、陳雪華、張懷文,2003);同樣的原因,Dublin Core亦於 2002 年 3 月開始採用XML Schema作為型 別定義的標準。(The Dublin Core Metadata Initiative, 2004)依據MARC紀錄分為指引、控制欄號與一般 資料欄號三個部份的特性,MARC 21 之XML Schema在定義上便將MARC區分成如圖一所示的 leader、controlfield、datafield三類,其中datafield 其下再包含一subfield子類,用於存放分欄資料。 各類的內容藉由屬性id指定其所屬的欄號或分 欄,並不直接將各欄號或分欄定義成XML的元素 型態的名稱,此種定義方式可以免除MARC定義中 自設欄號或不同MARC之間欄號或屬性名稱不同 而造成資料無法對應的情況。因此,可以適用於 MARC之ISO 2709 紀錄與XML文件格式之間的互 轉,因此本研究主要即採用MARC 21 XML Schema 定義之方式作為參考,制定符合國內MARC與XML 文件格式互轉的XML Schema定義。 圖一:MARC 21 定義結構

(9)

陸、文件轉換流程分析

依據 ISO 2709 格式標準分析如圖二所示,其 資料結構特性如下:

(一) 一筆 ISO 2709 檔案能夠包含多筆 MARC 記錄。 (二) 格式結構包括記錄標示資料單元(Leader)、記

錄 指 引 (Record directory) 、 資 料 區 (MARC

fields)三個部份。 (三) 記錄內容區隔符號-使用 ISO-646 符號集 1. 0x1D-記錄終止符號 2. 0x1E-欄位終止符號 3. 0x1F-分欄識別的第一個符號 圖二:ISO 2709 格式標準資料結構 其中 Leader 單元包含 24 個字元,各字元所代表的 內容如圖三所示: 圖三:Leader 單元各字元內容

(10)

藉由 Leader 單元內容的前 5 字元(0-4)及代表 該筆記錄的資料長度,由第 12-16 字元「資料基位」 即可獲得實 際欄位資料 內容的起始 位置 (Base address),剖析程式透過記錄指引(Record directory) 包含欄號(3 個位元長度)、長度(4 個位元長度)與起 始位置(5 個位元長度) 的內容即可依序獲得資料 內容的相關資訊。 依據上述 ISO 2709 結構的定義,如圖四範例 所示剖析 ISO 2709 檔案內容的資料,可以直接由 記錄指引取得各欄位的欄號,再由資料基位累加記 錄指引所記錄的資料長度即可取得該欄號的內 容。而欄號的內容依據區隔符號 0x1E 可提供程式 確認欄號的起始位置是否正確;依據區隔符號 0x1F 可提供程式逐一分解各分欄的資料內容。因 此,執行 ISO 2709 轉換成 XML 文件之剖析過程, 程式並不需藉由對照表取得對應之欄位關係,即可 直接由紀錄指引獲得欄號;由起始位置加上紀錄指 引標示的起始位置即可取得欄號的內容,再依據區 隔符號 0x1F 將內容分離出指標與分欄資料。 圖四:ISO 2709 檔案內容範例 轉換中資料內容的字元本身若是 XML 標示語 法結構的一部份,為避免 XML 剖析造成辨識錯 誤,這些資料必須轉成 XML 內建的通用實體 (General entity)。(註 1)此外,由於圖書館自動化中 文有使用 CCCII 的特性,在 ISO 2709 處理的方式 是透過 Shift-in/Shift-out 方式使用(0x1B) + "$1"表 示中文起始的標示;(0x1B) + "(B"表示中文結束的 標示。其中,0x1B 在 ISO8859-1 (ASCII)中代表逸 出字元(Escape)控制碼,在 XML 文件當中是不被 允許的。因此在儲存在 XML 文件中亦須另訂實體 處理,也就是在儲存 CCCII 字碼的資料至 XML 文 件時,必須把(0x1B)轉為實體 <esc/>;相反的,在 剖析 XML 文件時,則會將實體<esc/> 轉回為 (0x1B)。 經由剖析 ISO 2709 內容的過程,即可依序取 得 MARC 之欄號、指標與分欄,以及上述欄位之 資料內容。轉換程式可接著依據 XML Schema 定 義之各元素,逐一將剖析後之欄號、指標與分欄, 以及上述欄位之資料內容依據 XML 之結構,前後 加上 XML Schema 所定義該欄位之起始與結束標 籤即可,也就是說 XML 文件中欄號的名稱是直接 由 ISO 2709 中剖析獲得,不須事先逐一在 XML Schema 中宣告。如此,可確保轉換程式能夠適用 於任何符合 MARC 結構,但不需事先定義欄號對

(11)

照的參數表格,因此此種定義方式可以適用於各種 MARC 資料的 ISO 2709 檔案,而不僅限於 Chinese MARC 第三版。 反之,將 XML 文件剖析時,可直接由標示的 標籤取得各元素的名稱,再由子元素判斷其資料屬 性(指標或分欄),因為 MARC 結構中欄號只有單 一子欄位,也就是分欄。各分欄並無下一層的子欄 位,因此剖析 MARC XML 文件的程序上較為單 純。當程式剖析 XML 文件取得各欄位標籤(欄號 或分欄)、資料屬性(指標或分欄資料內容),即可依 據 ISO2709 檔案的資料結構組合還原,並於還原 中加入 ISO2709 所規範的區隔符號(0x1D, 0x1E, 0x1F),於組合完成時計算資料整體長度與資料基 位,填入 Leader 單元內容的前 5 字元(0-4)與表示 實際欄位資料內容起始位置 (Base address)的第 12-16 字元資料基位即可。 經由上述 ISO 2709 檔案資料與 XML 文件的 MARC 記錄互轉的流程,兩者資料間的轉換均可 不需要提供額外的轉換對照表,只須依據本研究所 制定之資料轉換之 XML Schema 定義,即可處理 資料互轉的功能。轉換簡略流程圖分別如圖五、圖 六所示。 圖五:ISO 2709 檔案資料轉換成 XML 文件執行流程圖 選擇轉出目的字碼種類 資料輸出位置 圖六:XML 文件轉換成 ISO 2709 檔案資料執行流程圖 其中轉換步驟包含字碼與格式轉換,因此可提供僅 資料格式或字碼的轉換,或是執行字碼與格式同時 轉換的功能,提供更多使用上的彈性。在程式實作 上的介面可以考量區分兩種模式,包括獨立執行檔 或 API 模式,提供圖書館系統與其他處理 XML 資 料格式系統之間的中介轉換程式。

柒、結論與建議

本研究主要是針對MARC ISO 2709格式與 XML文件互轉,遵循國際使用XML有效性驗證的

(12)

規 範 包 括 XML Schema 與 DTD 定 義 。 藉 由 XML Schema或DTD定義和規範特定XML文件的內容架 構的功能,提供轉換程式辨識ISO 2709與XML文 件的依據。雖然本研究在制定XML Schema/DTD 時有考量圖書館自動化系統應用的需求,而針對每 一欄號、分欄逐一定義其欄位的屬性,以提供 MARC格式的國際性、格式擴展與整合的彈性、適 應網際網路文件傳輸格式的標準等。但由於國際上 各國使用MARC的差異性,除了ISO 2709與XML 文件互轉的需求之外,將來亦應會遭遇各種不同機 讀格式之間轉換的需求,此部分需求必須藉由轉換 表 的 定 義 來 實 現 , 並 無 法 單 純 依 靠 XML Schema/DTD定義可達成。因此建議後續研究項目 應涵蓋: (一) 研擬各種異質MARC資料之間互轉的關鍵技 術與執行方法分析。資料互轉格式的範圍包 括: 1.ISO2709、XML(MARC型式)、XML (Dublin Core型式)等格式互轉。 2.Chinese MARC各版本之間與MARC 21格 式之互轉。 (二) 研究如何透過匯入XML Schema/DTD決定編 目規則的作業模式,並存各種不同Schema之 書目資料之自動化系統,以及結合MARC XML與數位典藏各種Metadata資料之整合性 自動化管理系統架構與運作規範。 (收稿日期:2005年2月23日) (本研究係國家圖書館研究計畫-機讀編目延伸標示語言文件型別研究之摘錄,承蒙國家圖書館 補助經費與提供相關研究所需之協助,謹致謝忱。)

註 釋:

註 1:內建的實體在 XML 稱為通用實體,在 HTML 中則稱為字元實體參照(Character entity reference)。

參考書目:

中國機讀目錄格式修訂小組(2002)。中國機讀目錄格式(民國 90 年版)。台北市:國家圖書館。 余顯強(1997)。多種機讀格式並存之編目與檢索架構研究。台北市:漢美。 余顯強、陳雪華、張懷文(2003)。台灣大學典藏數位化計畫:建置以OAI-PMH為基礎的詮釋資料聯合目錄系統。資 訊傳播與圖書館學,9(4),53-60. 胡歐蘭(1988)。國家書目資料庫及其資訊網之發展。圖書館學與資訊科學,14(2),195。 國立中央圖書館中國機讀目錄格式修訂小組(1989)。中國機讀目錄格式(第三版)。台北市:中央圖書館。 陳昭珍(1992)。IFLA國際書目控制工作之探討。國立台灣大學圖書館學刊,7,259。 楊翔淳(2002)。以XML與CMARC為基礎之編目模組與WebOPAC/WAPOPAC設計。台北縣淡水鎮:淡江大學。 鄭恆雄(1995)。中文書目資料庫在台灣的建立與發展。圖書與資訊學刊,12,22。

Anonymous (2002). Library of Congress announces standard MARC XML Schema. Phoenix, 20(6/7), 4-6. Cagle, K. (2000). XML developer’s handbook. San Francisco: SYBEX.

(13)

Chan, L. M. (1994). Cataloging and classification: An introduction. New York: McGraw-Hill.

Cover Pages(2002). Library of Congress publishes MARC 21 XML schema and transformation tools. Retrieved September 15, 2004, from http://xml.coverpages.org/ni2002-06-05-a.html

Hakala, J. (1994). The Nordic SR-net Project. Retrieved September 15, 2004, from www.ftp.funet.fi/index/doc/library/ srnett.wp6

Holt, B. P. (1987). UniMARC manual. UK: IFLA UBCIM Programme

International Federation of Library Associations and Institutions (1999). UNIMARC: An introduction. Retrieved September 15, 2004, from http://www.ifla.org/VI/3/p1996-1/unimarc.htm

International Standards Organization (ISO) (1996). Information and documentation- format for information exchange, ISO 2709. Retrieved September 15, 2004, from http://www.iso.org/iso/en/CatalogueDetailPage.Catalogue Detail? CSNUMBER=7675

Ioannides, D. (2000). XML schema languages: beyond DTD. Library Hi Tech, 18(1), 9-14. Keith, C. (2004). Using XSLT to manipulate MARC metadata. Library Hi Tech, 22(2), 122-130.

Khurshid, Z. (2002). From MARC to MARC 21 and beyond: Some reflections on MARC and the Arabic language, Library Hi Tech, 20(3), 370-377.

Kokabi, M. (1995). The internationalization of MARC: Part I: the emergence and divergence of MARC. Library Review, 44(4), 21-35.

Library of Congress. American Memory Digital File Formats. Retrieved September 15, 2004, from http://www.loc.gov/loc/ webstyle/fileform.html

McCallum, S. Keith, C. (2002). Library of Congress Announces Standard MARCXML schema. Retrieved September 16, 2004, from http://xml.coverpages.org/LOC-StandardMARCXML-ShemaAnnounce.html

Medlane:XMLMARC. Retrieved September 15, 2004, from http://laneweb.stanford.edu:2380/wiki/medlane /xmlmarc Tennant, R. (2002). XML in libraries. New York: Neal-Schuman.

The British Library. The MARC 21 format and the UK Library Community - proposals by the British Library. Retrieved March 17, 2005, from http://www.bl.uk/services/bibliographic/marc21paper.html

The Dublin Core Metadata Initiative. DCMI term declarations represented in XML schema language. Retrieved September 15, 2004, from http://www.dublincore.org/schemas/xmls/

The Network Development and MARC Standards Office, LC(2002). MARC DTDs background and development. Retrieved September 15, 2004, from http://www.loc.gov/marc/marcdtd/marcdtdback.html

World Wide Web Consortium (2001). W3C XML schema. Retrieved September 15, 2004, from http://www.w3.org/XML/ Schema

參考文獻

相關文件

「公告品名成份規格」欄位預設帶入公告資料,請依

802.14為主流,參與成員多為電腦及電話 公司,協定的主體已經確立,預計在今年 十一月完成標準草案的制定,1998年六月 正式成為IEEE標準。基本上來說,IEEE 802.14受到四個標準單位影響:

Geometry gml:CurvePropertyType ISO 19136-1 捷運系統名稱 xs:string XML Schema 捷運線段名稱 xs:string XML Schema 捷運類型代碼 xs:integer XML Schema 測製年月

2.本校學生須通過各學系規定之外語能力 畢業標準方得畢業;如未通過者,可依補救 措施,提升其能力以符標準。相關規定請詳

理解並欣賞幾何的性質可以透過坐標而轉化成數與式的 關係,而數與式的代數操作也可以透過坐標產生對應的

使用人工智慧框架基礎(Frame-based)的架構,這些努力的結果即為後來發展的 DAML+OIL。DAML+OIL 是 Web Resource 中可以用來描述語意的 Ontology 標 記語言,它是以 W3C

一、職能標準、技能檢定與技能職類測驗能力認證政策、制度、計畫之研 擬、規劃及督導。. 二、職能標準、技能檢定與技能職類測驗能力認證法規制(訂)定、修正

(approximation)依次的進行分解,因此能夠將一個原始輸入訊號分 解成許多較低解析(lower resolution)的成分,這個過程如 Figure 3.4.1 所示,在小波轉換中此過程被稱為