您现在的位置: 范文先生网 >> 教学论文 >> 综合教育论文 >> 正文

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

时间:2006-11-23栏目:综合教育论文

  <rdfs:label>MARCTYPE</rdfs:label>
  <rdfs:is  DefinedBY  rdf:resource=“”/>
  </rdf:Description>
  <rdf:Description  ID=“RECORD”>
  <rdf:type  rdf:resource=“http://www.w3.org/  1999/02/22—rdf—syntax—ns  #  Property”/>
  <fdfs:label>RECORD</rdfs:label>
  <rdfs:isDefinedBy  rdf:resource=“”/>
  </rdf:Description>
  <rdf:Description  ID=“DATAFIELD”>
  <rdf:type  rdf:resource=“http://www.w3.org/  1999/02/22—rdf—syntax—ns  #  Property”/>
  <rdfs:label>DATAFIELD</rdfs:label>
  <rdfs:isDefinedBy  rdf:resource=“”/>
  </rdf:Description>
  <rad:Description  ID=“DATAFIELD”>
  <rdf:type  rdf:resource=“http://www.w3.org/  1999/02/22—rdf—syntax—ns  #  Property”/>
  <rdfs:label>SUBDATAFIELD</rdfs:labcl>
  <rdfs:is  DefinedBy  rdf:resource=“”/>
  </rdf:Description>
  通过上例,我们可以看到针对DTD种种不足而提出的RDF建议克服了DTD的主要缺点,具有以下几个优点:
  ①易控制性。由于RDF使用简单的资源——属性——值三元组,所以很容易控制,即使是数量很大的时候。
  ②包容性。在RDF这种元数据模型中既可以定义自己的词汇集,也可以嵌入DC元数据或别的类型的元数据。
  ③可交换性。由于XML是目前最具发展前景的标记语言,使用XML作为描述语法的RDF在未来也就可以成为一种可以携带多种元数据来往于网络上的框架工具。
  ④易综合性。在RDF中资源的属性是资源,属性值以及关于资源的陈述也可以是资源,都可以用RDF进行描述,这样可以很容易地将多个描述综合,以达到发现知识的目的。
  总之,RDF是一个公认的极佳的强有力的元数据描述工具,这也部分地实现了它结束在元数据描述领域一切努力的雄心。但是,RDF的这种强有力也导致了它严重的缺陷,就是在一些日常应用中显得太复杂了,设计者不仅需要定义对象和属性,而且需要定义复杂的陈述。一个复杂的标准是很难在短时间内被广大网络应用开发人员接受、掌握和应用的,因此这个复杂的标准也就很难在网络上推广和被接受。就象复杂的SGML很少有人使用,而对其进行简化后形成的XML则迅速被接受一样,RDF在网络上尤其是Internet上是很难有市场的,而只会在一些特定的领域得到应用。Internet上的元数据描述需要的应该是一种简单而且可靠的解决方案。
      4 XML  Schema
  Schema是一种描述信息结构的模型,它是借用数据库中一种描述相关表格内容的机制,为一类文件建立一个模式。从这一层意义上讲,DTD实际上也是一种Schema,只不过这种Schema使用了古怪的EBNF语法,因而带来了诸多的不便。RDF  Schema可能是由于RDF的原因,W3C最终只推出了RDF  Schema的草案,一直未能更进一步推出正式的建议(即标准)。XML  Schema是2001年5月由W3C推荐的用于描述XML文件结构的一个框架,它的语法与XML相同,但Schema文件所描述的是引用它的XML文件中的元素和属性的具体类型。以前面所描述的MARC元数据定义为例,使用XML  Schema可以定义如下:
  <xsd:schema  xmlns:xs

d=“http://www.w3.org/2001/  XMLSchema”>
  <xsd:element  name=“mare”type=“marc”/>
  <xsd:complexType  name=“marc”>
  <xsd:sequence>
  <xsd:element  name=“recurd”  minOccurs=“0”  maxOccurs=“unbounded”>
  <xsd:complexType>
  <xsd:sequence>
  <xsd:element  name=“datafield”  type=“datafield”minOccurs=  “0”  maxOccurs=“unbounded”  />
  </xsd:sequence>
  <xsd:attribute  name=“rectype”  type=“xsd:string”/>
  <xsd:attribute  name=“recinfo”  type=“xsd:  string”/>
  </xsd:complexType>
  </xsd:element>
  </xsd:sequence>
  <xsd:attribute  name=“marctype”  type=  “xsd:  string”/>
  </xsd:complexType>
  <xsd:complexType  name=“datafield”>
  <xsd:sequence>
  <xsd:element  name=“subdatafield”type=‘xsd:  string”minOccurs=“0”maxOccurs=“unbounded”content  =“textOnly”>
  <xds:attribute  name=“code”  type=“xsd:  string”/>
  </xsd:element>
  </xsd:sequence>
  <xsd:attribute  name=“tag”  type=“xsd:string”/>
  <xsd:attribute  name=“ind1”type=“xsd:string”/>
  <xsd:attribute  name=“ind2”type=“xsd:string”/>
  </xsd:complexType>
  </xsd:schema>
  通过上例,我们可以看到XML  Schema本身就是一个XML文件,但不同的是,Schema文件所描述的是引用它的XML文件中的元素和属性的具体类型。相比DTD,XML  Schema具有以下优点:
  ①一致性。Schema使得对XML的定义不必再利用一种特定的形式化的语言,而是直接借助XML自身的特性,利用XML的基本语法规则采定义XML文档的结构,使得XML达到了从内到外的完美统一,也为XML的进一步发展奠定了坚实的基础。
  ②扩展性。Schema对DTD进行了扩充,引入了数据类型、命名空间,从而使其具备较强的可扩展性。
  ③互换性。利用Schema,我们能够书写XML文档以及验证文档的合法性。另外,通过

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页