XML及其在图书馆的应用,本文主要内容关键词为:图书馆论文,XML论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 前言
XML(eXtensible Markup Language),中文译名为“可扩展标识语言”,由W3C(万维网协会,the World Wide Web Consortium)于1998年2月正式推出XML1.0版本。XML即是一种简单的SGML,它保留了SGML可扩展性、结构以及数据确认方面的主要优点,可支持建立用户定义的Web文件类型,对SGML的某些内部数值和参数进行了重新定义,省略了SGML中许多复杂而少用的部分。XML不是一种编程语言,它和SGML一样是一种元语言(meta-language)。XML的设计者们的目标是:XML将直接用于Internet;XML与SGML兼容;编写处理XML文件的程序简单;XML的可选特征项尽量少;XML文件清晰且易于阅读;XML设计尽量规范、简洁。XML文件可有多种媒体形式表示出来,它可在电脑屏幕、蜂窝电话上显示,也可以转化为声音。所以说,XML文件可以独立于Internet存在,最大限度地服务于出版业,特别适用于想把信息发布在各种媒体上的出版商们。一些大规模使用SGML的出版商可能都会转向XML,而且,XML的平台无关性将对Web产生巨大的影响。XML用于Web最大的长处是它与DOM(对象文件模型)的接口。XML自1996年开发以来已取得了巨大进展。微软的Internet Explorer 4.0支持XML,Netscape计划中的新版本也肯定会支持XML。其它公司,包括 Adobe、Arbor Text、Sun和Xerox也宣布支持XML。Netscape建议把Meta Content Framework(MCF)与XML结合在一起。而微软则以XML为基础建立其Channel Definition Format(CDF)。XML无疑将成为在Web上发布基于 SGML规范的信息的工具。[1]
近代图书馆理论与实践是奠基于图书馆自动化的发展,而图书馆自动化则主要又随着信息/计算机技术而改变,因此图书馆一直存在追逐信息/计算机技术不遗余力的特性。图书馆自动化中一个核心的问题是数据交换;而XML对网络数据交换提出了一个新的解决方案,因此图书馆必须了解XML的原理、功能与用途,进而判断这一新技术对于图书馆可能会造成的影响。
2 XML与HTML及SGML的差异及关系
SGML(Standard Generalized Markup Language)(ISO8897)是一种用于与文本应用有关的数据表示方法。XML和HTML都是从SGML演变而来的文件格式,它们有很多相似之处。但是HTML是SGML的一种应用,而XML是SGML的一个子集。这样,HTML不能再定义新的应用,而XML则可以,比如RDF(Resource Description Format)和CDF(Channel Description Format)都是XML的应用。XML与SGML兼容,任何XML文件都能被SGML工具识别,而XML比SGML简单,更适合于带宽不是很高的Internet应用。可以说,XML是发扬了SGML的优点,而且变得更简单,更好地用于Web。SGML,HTML和XML三者之间没有相互取代的关系,它们各得其所,HTML仍是短、小信息(如会议日程安排等)发布者的青睐对象,XML将更多地应用于一些数据多、时间长、结构较复杂的信息发布,而SGML由于没有设计成符合网络协议需求,在Internet上应用不多,它更多地应用于结构很复杂的文件。
各种标识语言关系图如下:
3 与XML相关的几个概念介绍及其相互关系
3.1 概念介绍
3.1.1 Metadata
Metadata,中文译名“元数据”,是描述一个资源属性的数据,通常称为"data about data"或是"data describes other data",主要用以对网络资源的描述,这些描述可以帮助使用者在未看到网络资源之前即可知道该资源所在之处,并了解其特色与内容,让使用者可以进一步去做评估与选择。[2]
3.1.2 Dublin Code
Dublin Code,中文译名都柏林核心数据,产生于1995年,是为网络资源或者说是数字资源的著录而制定的,包括15个数据单元(element),结构如下:
Dublin Code有以下几个特点
(1)结构简单:只有15个数据元素;
(2)通俗易解:数据元素的含义易学易记,非编目人员也能很快学会使用;
(3)国际通用:已有德语、日语、葡语、西语等10余种不同语种的版本;
(4)可扩展性:可以与其它元数据元素连接使用,以弥补其自身的不足。[3]
3.1.3 EDI(Electronic Data Interchange)
EDI(Electronic Data Interchange),中文译名为电子数据交换,为组织间以结构化、电子化交换机器可读的数据,以节省时间与人力,并且确保数据的一致性与正确性,实行EDI的先决条件包括数据标准格式、数据传输网络机制、软件与硬件等。
3.1.4 HTML(Hyper-Text Markup Language)
HTML(Hyper-Text Markup Language),中文译名超文本标识语言,是一种简单的超文本、多媒体语言。它建立在SGML的基础之上,适合于小而简单的文件传输。SGML允许文件用它们自己的语法进行描述,也即是通过指定文件标签以及这些标签所代表的结构关系来描述文件,这使用户可以简单地建立一个应用程序。但随着Web文件越来越大,越来越复杂,HTML也暴露出越来越多的缺点,尤其是它在以下三个方面存在严重不足:
·扩展性方面 HTML不允许用户设定自己文件的标签或者属性,因而其扩展性很不好;
·结构方面 HTML不支持描述数据库和面向对象层次的深层结构规范;
·数据确认方面 HTML不支持检查输入数据合法性的语言规范。
3.1.5 XML(eXtensible Markup Language)
XML(eXtensible Markup Language),中文译名可扩展标识语言,不是一种编程语言,因此不能创建二进制可执行文件。XML能让使用者简单地定义标签和它们之间的关系。使用XML编码的文章的结构使得进行跟踪、格式化和操纵都相当容易。XML文件通常有两个部分。一部分是XML标签及其内容,另一部分是定义标签及其相互关系的DTD(文件定义类型,Document Type Definition)。DTD可以和XNL资源存放在同一个文件内,但也可以单独存放。DTD规定文档的逻辑结构。它可以定义文档的语法,而文档的语法反过来能够让XML语法分析程序确认某张页面标记使用的合法性。DTD定义页面的元素、元素的属性以及元素和属性之间的关系。例如能够规定某个表项只能在某个列表中使用。DTD不是强制性的。对于简单应用程序来说,开发商不需要建立他们自己的DTD(因为没有意义);他们可以使用预先定义的公共DTD,或者根本就不使用。即使某个文档已经有了DTD,只要文档是组织良好的,语法分析程序也可以不对照DTD来检验文档的合法性。服务器可能已经执行了检查,所以检验的时间和带宽将得以节省。
XML有许多部分,除了DTD外,主要的还有:可扩展的样式语言(Extensible Style Language:XSL)以及可扩展链接语言(Extensible Link Language:XLL)。
XSL是用于规定XML文档样式的语言。XSL能使Web浏览器改变文档的表示法,例如数据的显示顺序改变,就不需要再与服务器进行交互通信。通过变换样式表,同一个文档可以显示得更大,或者经过叠折只显示外面的一层,或者变为打印格式。可以设想一个适合用户学习特点的技术手册,它为初学者和更高一级的用户提供不同的样式,而且所有的样式都是根据同样的文本产生的。XSL凭借其可扩展性能够控制无穷无尽的标记,而控制每个标记的方式也是无穷尽的;这就给Web提供了高级的布局特性。例如旋转的文本、多列和独立区域,它支持国际书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式。
可扩展链接语言(XLL)将支持目前Web上已有的简单链接,并且将进一步扩展链接,包括结束死链接的间接链接以及可以从服务器中仅查询某个元素的相关部分的连接符“ ”。
在为XML所设想的真正的超文本系统中,所有典型的超文本链接机制都将得到支持,包括:与位置无关的命名;双向链接;可以在文档外规定和管理的链接;n元超链接(如环路、多个窗口);集合链接(多来源);Transclusion(链接目标文档是链接源文档的一部分);链接属性(链接类型)。这些可以通过目前尚在开发中的XLL来实现。由于XML以SGML为基础,XSL以DSSSL为基础,所以XLL基本上是Hytime(超媒体基于时间的结构语言,ISO10744)的一个子集。它还遵循文本编码计划(Text Encoding Initiative)规定的链接概念。
3.2 相互关系
3.2.1 Dublin Code与网页
Dublin Code原是用于描述网络上的电子文件,其特意简化以避开MARC非得专业人员不能著录的缺点,试图为整理互联网上的资料提供一个解决方案。
在此必须先讨论网络上的电子文件。目前的电子文件其具体大多网页(Page)形式呈现,文件格式为.htm,其产生方法则有二:一是由人工制作,二是由各种Scripts(CGI/ASP/Cold Fusion/PHP等)从数据库抽出资料转换成符合HTML的网页。
后者从scripts转换出的网页可以通过预先设定的功能自动加入Dublin Code,而前者就不然,因为网络本身具有分散性的特点,由人工制作的网页其作者来自不同领域,制作网页的目的不一,除非是有某种机制强制规定网页必须加人Dublin Code,否则大多数的制作者还是不知道或不会加人。
这使得Dublin Code期望由制作者自行著录信息、的理想无法实现,我们仅能设法使适合作用Dublin Code的文件都加上(例如可以规定所有的政府文件或博硕士论文呈交都需要著录),缺少强制的机制,Dublin Code还是必须由图书馆员或专门负责收集资料的人员加工著录。
3.2.2 Dublin Code与XML
Dublin Code的资料著录项目和修饰词(Qualifier)完全可以XML表达使其成为网络的电子文件,这使原本是设计在HTML表达的Dublin Code可以进一步转成XML,使在编写程序时有不同的解决方案。
3.2.3 XML与网页
XML在处理网页的理想上与Dublin Code有相同的问题,它对于不同数据库的资料交换提供了极佳的解决方案,这使得EDI、电子商务的成本大为降低,相对可行性大为提高,但直到某一天,网页制作的软件会自行加上XML的机制前,一般制作者在制作时还是不会使用它;XML的出现仍无法解决整理网络电子文件的问题。
3.2.4 XML与EDI
EDI是最能应用与发挥XML功能的领域。传统EDI需要专门的机器执行专门的程序,并且使用专门的线路传输,无论是服务器主机、个人计算机、终端机或PDA都必须使用专门的厂牌,并且在对外部数据交换遇到不同的平台或不同的数据库软件则又必须开发转换的程序,其价格过于昂贵。
XML使用Web作交换接口,机器只要装有合适的解析器(parser)即可解读不同系统之间传输的数据;XML可以标注文字文件与二元文件,可以传输各类型的数据;而许多的解析器又是用Java编写,目前几乎所有的平台都支持Java,所以都支持XML。因此在进行电子数据交换时完全无需考虑对方的内部数据格式,仅需使用XML作为统一的数据中介格式即可。
4 XML的功能与用途
XML的设计目标有以下几个重点:
(1)XML可以直接在internet上被使用;
(2)XML应该能支持多种不同的应用程序;
(3)XML应该能与SGML兼容;
(4)在编写处理XML文件的程序方面的难度不能太高;
(5)在XML上选项功能的数目越少越好;
(6)XML的文件应该具有高度可读性;
(7)XML的设计应快速、明确;
(8)XML的文件要容易产生;
(9)XML标识的整洁性并不重要。
根据设计目标,XML具有以下几个重要的功能:
(1)显示问题
HTML的语法格式过于简单,例如音乐乐谱、化学方程式、数学公式、财务电子表格,以及工程应用等,现有的HTML语言其实无法妥善处理,就显示上而言,不同的浏览器或不同的HTML规范版本,展示出的结果外观也不尽相同,这种情况大大地影响到专门领域的应用,而HTML本身又无法扩充来支持各种专门的格式,这样确实影响到HTML能够应用的范围。XML定义新的标识语言应用到各种不同的专门领域,再通过标准的客户端处理程序,就犹如现行的Plugins程序一样,就可以达到相同显示的目的,让每位浏览者都能看到相同的文件内容,也可以将一段相同的文字内容,以各种不同的样式呈现,或者动态地改变文件的内容(就如同是IE中强调的动态内容),便得Web上的文件能够具备多样化的表现。
(2)携带信息
HTML本身就是一种文件,文件的目的就是将信息传达给阅读者,对于一篇文学作品来说,XML能提供的帮助相当有限,但对于文件中成组、规律性的统计资料、数据库内容来说,XML就能够将这些信息有效地利用。
(3)节省带宽
XML能够有效地处理携带信息,因此也可以达到节省带宽的目的,即使离线后,我们仍然可从数据中,马上撷取重新排序或计算,无形之下,使用者对于服务器的数据请求就会减少,自然就节省了带宽,也降低了服务器的负荷,使用者也达到了离线处理的目的,真是一举多得。
(4)整合不同数据库
由于XML具备了数据库字段的作用,因此XML也相当适合在网络上整合不同数据库,以往不同数据库的内容要能够互通,必须采用相同的格式,或者各自转成相通的中介格式,才能达到互通的目的,如今大家就可以使用XML当作中介格式,来达到不同数据库互通的目标。
(5)链接的加强
在SGML时代;链接只限于同一个文件内部,到了HTML应用中,链接可以跨文件,但是在HTML的链接中,必须指定文件中固定的位置,来与其它或本身文件相连,而XML当中,链接变成是可移动的,也不局限于一对一的链接方式,我们可以在XML中定义好链接的显示与动作方式,例如内嵌(Embed)、取代(Replace)、更新(New)等,以使得链接更具有实用性与弹性,这对于一个彼此参考关系复杂的文件系统来说,是相当具有意义的。
(6)开发程序软件容易又有效率
HTML所以盛行快,除了它本身简单易学以外,开发程序工具去制作含有HTML标志的文件,或欲展示HTML格式的文件都非常简单,也是HTML风行的重要因素之一。XML的语法和HTML非常近似,要开发程序工具去处理含有XML标志的文件,或欲转换成HTML格式的文件都非常简单,在Internet上也很容易找到相关的程序和工具。
不仅是开发处理XML程序软件很容易,当这种能处理XML文件格式的系统开发完成之后,用它来展示XML格式的文件,也远比用它来展示相同功能,但用HTML格式所作的文件要有效率得多。这是因为HTML原来不是用来做复杂文件处理的工作,如果硬要用HTML来做那些不适合的工作,就会因为HTML不能胜任而影响执行的效率。
(7)计算机系统之间沟通的桥梁
XML会成为电子商务应用的基础的最大原因,在于它可以容许双向的沟通。
①Web界面的作者们可以自己制作和设计应用XML的文件格式,而不必再使用固定的HTML格式,就能有比HTML更丰富的语法,和更多功能的标准语言,更重要的是它可以容许计算机系统之间双向的沟通。
②XML提供了一个四海通行的方法来传送自我描述的数据,因此它是将文件和结构化数据一起移动和沟通的最佳机制。
③企业之中的供货商供应链的管理、客户服务的支持、资源整合和物流管理等的程序应用,通常会牵涉到很多不同的处理过程和步骤,文件须要转呈和分发到很多单位,而且文件之中的数据内容和结构又不尽相同,这些工作HTML根本就不能胜任。而XML却提供了各种完整的解决方案,包括数据传递、数据采撷、数据结构与数据呈现等等,让设计流程大为简化。XML可以让电子商务拥有更多的资源选择,并且与消费者或供货商与合作伙伴之间维持更密切、更有效率的关系。
(8)数据交换的特性
HTML结合原有数据库的规则,检验数据结构的正确性,可利用自订标签来达到数据的搜寻,使数据内容的展现更富有弹性,其应用在网络数据交换的潜力有待开发。用HTML制作的界面要和数据库打交道时,都要经过复杂的转换手续,而数据欲在数据库和数据库之间交换时,更是要大费周章。
由于XML是结构化的数据,所以要储存或是要在数据库和数据库之间交换时,都非常容易。XML今后将会是数据在数据库和数据库之间交换时的标准方式,而且已有厂商正在展示产品,并展现于不同厂商的工具与储存库间的互通能力。
5 XML在图书馆自动化的应用
数据交换在图书馆自动化系统中的采访、编目两子系统都占有重要的位置,XML可以使图书馆与出版商(采购/电子商务)、图书馆(查询书目/资料交换)之间很容易通过中介程序交换所需的数据,使图书馆自动化系统的功能更加完整;而在阅览流通方面,读者下载的XML文件也可以利用不同功能的程序自动加工。
另外一个可以应用XML的图书馆自动化是图书馆的电子数据库。数据库如何使用Web平台供使用者操作或输出数据,基于同类型或相关领域的数据库应用许多共同字段的因素,若使用XML可以开发跨数据库检索、输出结构化数据的功能,提供另一种整合数据库的解决方案。
XML在图书馆的应用,具体表现在以下几个方面:
(1)在电子图书馆中的应用
电子图书馆原是以SGML来标识TEI(文本编码计划Text Encoding Initiative),作为学术研究文件的国际共同交换标准,但SGML太过复杂,不易使用,及难以用于网络的缺点,一直无法实现。XML的出现,可代替SGML标识TEI,正好可以让电子图书馆的目标达成。
(2)MARC的应用
1)创制一次书目记录,出版成不同形式,书目记录可直接浏览器,搜索引擎及潜在图书馆系统,不需进一步转换。
2)书目记录可以被XML及MARC交换,而数据不会损失。
3)很多MARC被遗留的问题将变得无关紧要,包括CJK、罗马拼音及权威控制等。
4)利用RDF可带多种不同元数据(包括都柏林核心数据)。
(3)其它可能的应用
1)应用于采访业务:电子商务的时代,XML的结构化文件特色可应用于图书馆与书商间的订购交易工作。
2)对于图书馆自动化系统,如流通自动化、行政管理自动化及参考服务自动化等各项功能的改良。
3)整合各项资源,如联合目录、网络资源、期刊、报纸等。
XML现在正处在如火如荼的发展中,但还是有些问题尚未解决:
1)缺乏友好辑器:目前XML仍未开发出一套像word那样容易使用的软件,编写XML仍不方便。
2)定义DTD仍有难度:各界要定义共同的DTD仍有待商榷。
3)XML相关的标准尚在订定,目前变量还太多。
总之,XML的发展技术,目前来说还不算成功,是否能继续发展,仍是未知数;但其结构化、标准化文件的模式,及建构在Unicode上,对于图书馆整理、组织与保存网络信息资源来说,是非常有利的;并且对于未来更精确的信息检索,能给使用者提供一个较佳的信息利用环境,相信XML的未来是乐观的。
(收稿日期:2000-08-13)
标签:xml语言论文; xml数据库论文; 数据库文件论文; web技术论文; 数据库语言论文; xml解析论文; xml格式化论文; 数据库结构论文; html语言论文; web开发论文; 数据库论文;