基于XML的三个常用元数据描述工具的评价与比较

时间:2024-06-30 17:56:12 教育毕业论文 我要投稿
  • 相关推荐

基于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>
  <!ELEMENTrecord(datafield) *>
  <!ATTLISTrecord
  typeCDATA#REQURED
  infoCDATA#REQUIRED>
  <!ELEMENT,datafield(subdatafield) *>
  <!ATTLISTdatafield
  tagCDATA#REQUIRED
  ind1CDATA#IMPLIED
  ind2CDATA#IMPLIED>
  <!ELEMENTsubdatafield(#PCDATA)>
  <!ATTLISTsubfield
  codeCDATA#REQUIRED>
  ]>
  上例中各个标记和属性的作用如下:
  <MARC>:用于标记内容的开始和结束,属性“type”用于标记MARC类型,如CNMARC,USMARC,UNIMARC。
  <RECORD>:用于标记MARC记录的24byte定长头标区,属性有“type”和“info”。
  <DATAFIELD>:MARC记录数据字段区的数据字段标记,对应MARC记录中每个字段的内容,属性“tag”、“ind1”和“ind2”分别代表字段标识、第一和第二指示符。
  <SUBDATAFIELD>:MARC记录数据字段区中数据字段的子字段标记,属性“code”为子字段标识。
  通过该例,我们可以看到DTD较好地完成了XML的标记扩展(即元数据描述)的任务,目前在Internet上已有大量使用DTD描述的元数据存在。但是DTD提出较早,人们在使用过程中也发现它有很多的不足之处。其主要特点如下:
  ①难以理解和书写。由于采用的是不同于XML的名为EBNF的语法,因为需要先了解EBNF,这对于人们的阅读和书写都带来了困难。
  ②难以使用程序进行元数据的自动处理。由于使用EBNF语法,这给DTD的自动处理也带来了麻烦。通常情况下,我们需要对DTD进行验证,这时使用DOM就不可能对使用EBNF语法书写的DTD进行分析,而必须使用专门的分析程序进行分析验证。
  ③DTD不支持数据类型。DTD只支持包括文档类型在内的少数几种数据类型,这意味着在实际使用过程中经常需要进行类型的转换才能达到预想的效果。
  ④DTD不支持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

基于XML的纺织品工艺信息系统的研究与实现03-07

基于聚类分析的数据挖掘方法03-08