- 相關推薦
基于XML的三個常用元數據描述工具的評價與比較
【內容提要】隨著Internet和WWW的飛速發展,XML憑借其自身的特點,為網絡信息的管理、搜索以及Web上各種應用的鏈接提供了極大的便利,從而得到了廣泛應用。XML的一個重要特點就是允許用戶定義自己的標簽,從而實現對信息的存儲和管理。XML中較常用的標簽定義工具有DTD和XMLSchema,而RDF是一個專用的元數據描述框架。本文結合一個MARC元數據描述的實例,對這三個工具進行了比較細致的分析和對比,并對未……1 引言
XML是繼HTML之后的又一種WEB標記語言,它為用戶提供了靈活的標記擴展機制,使得不同內容的資源能以格式良好的自定義的標記元素來表現。元數據是描述信息資源或數據等對象的數據,主要用來識別、評價、追蹤資源,以及方便對資源的管理、發現、查找和交換。隨著計算機網絡的發展,特別是Internet的普及,網絡環境下信息的描述和處理成為一個重要的問題,相應地網絡環境下的元數據問題也成為一個研究的熱點。DTD和XMLSchema是XML中常用的進行標記擴展的工具,RDF是專用的元數據描述工具,網絡環境下的元數據描述通常就是借助這幾個工具,利用XML的標記可擴展性來完成。在這三個工具中,DTD隨著XML1.0最早被提出,伴隨著XML應用的普及和人們對DTD認識的加深,又進一步提出了RDF和更有發展潛力的XMLSchema。
2 DTD
DTD作為XML1.0規范的重要組成部分,它使用EBNF(ExtendedBackusNaurForm)語法完成XML文檔結構的定義,即XML文檔中標記的定義。一個XML文檔只能對應一個DTD,一個DTD由一系列標記定義組成,包括元素定義(elementdeclaration)、屬性定義(attribatedeclaration)、實體定義(entitydeclaration)、注釋定義(notationdeclaration),是目前支持和應用最廣泛的一種標記擴展工具。例如,一個用于描述MARC元數據的XML文檔的DTD可以定義如下:
<!DOCTYPEmare[
<!ELEMENTmarc(record) *>
。!ATTLISTmareTYPE(CN|US|UN11) #REQUIRED>
。迹LEMENTrecord(datafield) *>
。!ATTLISTrecord
typeCDATA#REQURED
infoCDATA#REQUIRED>
。迹LEMENT,datafield(subdatafield) *>
。!ATTLISTdatafield
tagCDATA#REQUIRED
ind1CDATA#IMPLIED
ind2CDATA#IMPLIED>
。迹LEMENTsubdatafield(#PCDATA)>
。!ATTLISTsubfield
codeCDATA#REQUIRED>
]>
上例中各個標記和屬性的作用如下:
。糓ARC>:用于標記內容的開始和結束,屬性“type”用于標記MARC類型,如CNMARC,USMARC,UNIMARC。
。糝ECORD>:用于標記MARC記錄的24byte定長頭標區,屬性有“type”和“info”。
。糄ATAFIELD>:MARC記錄數據字段區的數據字段標記,對應MARC記錄中每個字段的內容,屬性“tag”、“ind1”和“ind2”分別代表字段標識、第一和第二指示符。
<SUBDATAFIELD>:MARC記錄數據字段區中數據字段的子字段標記,屬性“code”為子字段標識。
通過該例,我們可以看到DTD較好地完成了XML的標記擴展(即元數據描述)的任務,目前在Internet上已有大量使用DTD描述的元數據存在。但是DTD提出較早,人們在使用過程中也發現它有很多的不足之處。其主要特點如下:
①難以理解和書寫。由于采用的是不同于XML的名為EBNF的語法,因為需要先了解EBNF,這對于人們的閱讀和書寫都帶來了困難。
②難以使用程序進行元數據的自動處理。由于使用EBNF語法,這給DTD的自動處理也帶來了麻煩。通常情況下,我們需要對DTD進行驗證,這時使用DOM就不可能對使用EBNF語法書寫的DTD進行分析,而必須使用專門的分析程序進行分析驗證。
、跠TD不支持數據類型。DTD只支持包括文檔類型在內的少數幾種數據類型,這意味著在實際使用過程中經常需要進行類型的轉換才能達到預想的效果。
、蹹TD不支持Namespaces。由于必須把所有的元數據放在一個DTD文件中,如果需要對已有的DTD進行擴充則只能在原文件的基礎上進行重寫,這對于元數據的維護和擴充都十分不方便。
總之,DTD在簡單的文檔結構定義方面是較出色的,如果考慮到XML,是源自同樣使用DTD的SGML的話,理解在XML1.0中選擇了DTD就不難了。但如果我們考慮到XML的用途現在已不僅局限于文檔處理,那么DTD的這些缺點就變得日趨嚴重。因此W3C(WorldWideWebConsortium)在看到了DTD的諸多問題之后,提出了一系列用來代替DTD的建議(Recommendation,即正式標準),包括RDF、XML-Data、DCD、XMLSchema等,其中以RDF和XM
【基于XML的三個常用元數據描述工具的評價與比較】相關文章:
基于XML的果園環境數據采集和數據表示03-19
基于XMLSchema的元數據方案實現03-21
基于XML的作業答疑系統XML+SQL03-30
基于XML的智能應用程序的研究03-07
基于XML的三層C/S模型03-20
實現基于網頁的數據庫數據導入03-18
基于Perl的DoS工具設計與實現03-10
基于聚類分析的數據挖掘方法03-08