




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)xml搜索引擎技术在媒体资源管理系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网络的发展,极大地改变了人们发布、获取、使用信息的方式。伴随而来的是海量 信息的出现,这一方面是因为i n t e r n e t 的开放性和分布性所决定的。以亿记的用户 在互联网上发布和共享数据,人们从信息极度缺乏的时代进入了信息极大丰富的时代。 另一方面,随着多媒体技术的发展,人们对多媒体的使用率不断的增加,加之对多媒体 文件的效果的追求,使得多媒体文件的数据量急剧膨胀,这些都造成了网络中数据的膨 胀。然而在i n t e r n e t 中或存储网络中如何实现对海量的多媒体文件信息的查找和多 媒体文件的交换,通过什么机制实现不同系统中多媒体信息的可理解,都是目前面临的 挑战。 本文针对目前广电系统存在的大量的数据化的多媒体文件如何进行管理这一课题 进行研究分析。在分析了广泛应用于数据信息交换的x m l 技术以及针对x m l 的搜索 引擎技术和以x m l 技术为框架而提出的m e d i ar e s o u r c ee x c h a n g em a r k u pl a n g u a g e ( m r e m l ) ,多媒体资源交换语言的基础上,在存储网络的环境中实现了多媒体资源管 理系统。分析了x m l 搜索引擎与r d b m s 的中间件的工作原理。并将x m l 搜索引擎 技术应用于媒体资源管理系统中,实现了对多媒体文件的按照不同编目数据进行检索, 同时论证了采用该技术在检索效率上的提高。 关键字;x m l ;x m l 搜索引擎;m r e m l ;多媒体;存储网络 a b s t r a c t t h ed e v e l o p m e n to fn e t w o r kh a sg r e a t l yc h a n g e dt h em a n n e rt h a tw ei s s u e ,o b t a i na n dm a k e u s eo fi n f o r m a t i o n t h e nag r e a td e a lo fi n f o r m a t i o nh a sa p p e a r e dw h i c hi sd e t e r m i n e db yt h e o p e n i n ga n dd i s t r i b u t i n gn a t u r eo fi n t e r n e t w i t l lh u n d r e dm i l l i o n so fp e o p l ei s s u ea n ds h a r e d a t ao nt h ei n t e m e t ,w eh a v ee n t e r e di n t ot h ea g ef u l lo fi n f o r m a t i o nf r o mt h eo l da g eo v e r l y l a c ko fi t o nt h eo t h e rh a n d ,谢t l lt h ed e v e l o p m e n to fm u l t i m e d i at e c h n i q u e ,t h eu s i n go f m u l t i m e d i ai sb e i n gi n c r e a s e dc o n t i n u a l l y a n dt o g e t h e rw i n lp e o p l ep u r s u i n gt h ee f f e c to f m u l t i m e d i af i l e ,t h ed a t ac a p a c i t yo fm u l t i m e d i af i l ee x p a n d sr a p i d l y a l lo ft h e s eh a sc a u s e d t h ee x p a n s eo fd a t ac a p a c i t yi nt h en e t w o r k h o w e v e r , i ti ss t i l la c h a l l e n g ec u r r e n t l yt h a th o w t oi m p l e m e n tt h el o o k u pa n dp e r m u t a t i o no f ag r e a td e a lo f m u l t i m e d i af i l ea n dt h r o u g hw h i c h m e c h a n i s mt or e a l i z et h ec o m p r e h e n s i b i l i t yo f m u l t i m e d i ai n f o r m a t i o ni nd i f f e r e n ts y s t e m s t h i sp a p e ra n a l y s e st h es u b j e c tw h i c ha i m sa th o wt om a n a n g et h e g r e a td e a lo f m u l t i m e d i af i l e se x i s t i n gi nt h ep r e s e n tb r o a d c a s t i n gs y s t e m b a s e do nt h ea n a l y s i so fx m l t e c h n i q u e a n dm e d i ar e s o u r c ce x c h a n g em a r k u pl a n g u a g e ,t h em u l t i m e d i ar e s o u r c e m a n a g e m e n ts y s t e mi si m p l e m e n t e di ns t o r a g ea r e an e t w o r k a n a l y s e dt h e o r yo fm i d d l e w a r e w h i c hw o r k i n gb e t w e e nx m ls e a r c he n g i n ea n dr d b m s t h e n a p p l i c a t e dx m l s e a r c he n g i n e i n t om e d i ar e s o u r c e m a n a g e m e n t s y s ,i m p l e d t h e s e a r c h i n g w i t h d i f f e r e n t m u l t i m e d i a s a m e t i m e p r o v e da d v a n t a g eo f e f f i c i e n c yb yu s i n gt h i st e e h k e yw o r d s :x m l ;x m l s e a r c he n g i n e ;m r e m l ;m u l t i m e d i a ;s a n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特另l j 3 0 以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东北师 范大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。 学位论文作者签名:日期: 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文的规 定,即:东北师范大学有权保留并向国家有关部门或机构送交学位论文的 复印件和磁盘,允许论文被查阅和借阅。本人授权东北师范大学可以将学 位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 日期: 学位论文作者毕业后去向: 工作单位: 通讯地址: 指导教师签名: 日期: 电话: 邮编: 引言 网络的发展,极大地改变了人们发布、获取、使用信息的方式。伴随而来的是海量 的信息的出现,这一方面是因为1 n t e r n e t 的开放性和分布性所决定的,以亿记的用 户在互联网上发布和共享数据。另一方面,随着多媒体技术的发展,人们对多媒体的使 用率不断的增加,加之对多媒体文件的效果的追求,使得多媒体文件的数据量急剧膨胀。 这些都造成了网络中的数据的膨胀。由于单机存储容量的有限,网络存储应运而生。然 而在i n t e r n e t 中或存储网络中如何实现对海量的多媒体文件的信息的查找和多媒体 文件的交换,通过什么机制实现不同系统中多媒体信息的可理解都是有待研究的课题。 x m l 的出现改变了这一状况。 作为一种可扩展标记语言,x m l 具有以下特点: 1 元语言:x m l 是一种能够创建其他标记语言的元语言,它即可以创建结构化数据 也可以创建半结构化数据,甚至是非结构化数据。可以认为是从元语言层次上统一 了对各类数据的描述。 2 自描述性:用于描述内容的标记都蕴涵在文档中。 3 表义性:x m l 标记的自描述性及其与d t d x m ls c h e m a 的结合,使之能够 对数据的语意进行描述。这种描述能够被计算机理解和自动处理,以实现不同系统 之间的数据交换和信息共享。 4 数据与应用的分离:x m l 只描述数据本身,而并不规定如何使用数据,同样的 数据,可以有不同的表现适合于不同的应用。 5 可扩展性:通过提供一个标识结构化信息的架构,允许定义任意一组标记来满 足不同的要求。不同的用户,不同的行业可以通过不同的标签满足具体的应用需求。 6 开放性:平台中立,x m l 为纯文本文件。不受操作系统软件平台的限制,具有 良好的软件支持。 7 国际化和本地化:通过u n i c o d e 的支持,使得x m l 不仅能在不同的计算机系统 之间交换信息,而且能够跨越国界,跨越不同文化界限交流信息。 8 保值性:作为s g m l 的简化版本,保持了s g m l 对文件保值性的承诺。由于采 用纯文本方式,虽然x m l 文档是供计算机阅读和理解的,但是人类同样可以阅读。 由于上述特点,使得x m l 在信息管理,电子商务,个性化出版,移动通信,网络 教育,电子文档交换等诸多领域得到了广泛的应用。随着x m l 技术的不断发展及其应 用领域的不断扩展,越来越多的数据采用x m l 来描述,存储,交换和表现 1 1 研究意义 第一章绪论 x m l 目前已经成为主流的数据交换技术,利用x m l 的几大特点,可以最大程度的 满足系统间互连互通所需要的数据交换要求。它不但可以满足对数据的计算机识别,还 能满足对数据结构的最好的保持,实现跨平台的通信,完成各种系统的交互。 目前,在数据存储方面最占用空间的就是多媒体文件。显而易见,一个多媒体文件 的大小是一般文本文件的6 0 0 - - - 1 0 0 0 倍,仅仅在目前中国音像资料馆中馆存的中央电视 台的节目时长就长达2 0 余万小时,并以每年2 0 万小时的速度增长。而且其种类繁多, 仅可使用的视音频格式就有数十种,除此之外还包含大量的其他标注信息。因此,用 x m l 来表示这些大量的结构化、半结构化信息是最合适的,也是目前最行之有效的方 法。 面对大量的多媒体信息,如何进行甄别将是一个重要的课题,利用x m l 技术与搜 索引擎技术的结合,将大大提高检索多媒体信息的效率和管理多媒体信息的规范性。 1 2 研究背景 目前,普遍应用的信息管理技术主要包括数据库技术( d b ) 和信息检索技术( 瓜) 因此以x m l 文档为基础的信息检索的研究及技术方法也主要来自于这两个领域。 面向数据库的方法:将x m l 文档分解后保存在关系数据库或面向对象的数据库中, 通过标准的数据库查询语言来实现x m l 文档的检索。查询的输出可以通过x s l 样式表 来转换为x m l 文档。这种方法的优点是数据关系、约束及完整性可以被建模和检查, 可以使用标准的数据库引擎,以及类似与s q l 的查询语言,并能够充分利用数据库的 成熟技术。缺点是:将x m l 导入到关系数据库比较难,并难于处理模式的变化。 面向i r 的方法:将每个x m l 文档看作是一个具有附加标记的文本文档,可以直接 用传统的i r 技术来处理和检索x m l 文档。标记处理可以通过具体的应用,或者全部剔 除,或者选择一些重要的进行索引,或者对所有的标签都建立索引。优点是可以实现基 于关键词的检索,并进行相关性排序,但缺乏数据库管理的特性。 2 x m l 文档既有文本内容又有结构信息,因此比较理性的方式是上述两种方法的结 合,以充分利用数据库技术和信息检索技术的各自的优势。关于d b 和i r 的结合也一 直是数据库领域和文档领域的研究重点,并取得了一些成果,o r a c l e 和m i e r o s o i = t 均推 出了支持全文检索数据库管理系统。但由于底层数据模型的差异,要想实现在标准的 s q l 实现全文检索的无缝支持,还有相当多的工作要做。而x m l 能从各种元语言层面 上统一各种数据( 包括结构化,半结构化和非结构化的) 的描述,这样由于检索对象模 型一致,d b 与i r 就可能实现真正意义上的结合,甚至是一致。 面向x m l 文档的信息检索技术的研究涉及数据模型,文档存储,索引结构,查询 语言,系统实现等多方面。 1 2 1 数据模型 数据模型是描述数据,数据联系,数据语义以及一致性约束的概念工具的集合,是 数据库结构的基础。数据的存储结构,索引机制、查询语言的建立都依赖于所定义的数 据模型。如广泛使用的关系模型就是一种逻辑数据模型。 在x m l l 0 规范中,x m l 被定义为一个文本语言。而不是一个数据模型。一个x m l 文档由些嵌套的、有标签标记的文本块组成,可以看作是树结构的线性化。在对x m l 的处理中,多采用类似于半结构化的数据模型进行处理。s t a n d f o r d 大学l o r e 系统采用 了半结构化的模型。目前作为标准的关于x m l 数据模型的描述则体现在w 3 c 关于x m l 的几个规范中,并成为对x m l 文档进行编程操作和查询处理的基础。 1 2 2 存储方式 作为x m l 文档的存储最简单的方法就是将其作为文件,使用文件系统进行管理。 而更好的方法则是采用数据库的思想和技术进行存储管理v f i 。文档。 a i r is a l m i n e n 提出了x m l 数据库的定义:1 一个x m l 数据库是一个x m l 文档及 其部件的集合,并通过一个具有能力管理和控制这个文档集合本身及其所表示信息的系 统来维护。x m l 数据库不仅是结构化和半结构化数据的存储库,像管理其他数据一样, 持久的x m l 数据管理还应该包括数据的独立性、集成性、访问权限、视图、完备性、 冗余性、一致性及数据的恢复等等。”并从数据库的角度,分别从x m l 数据模型、数据 定义、数据操作、持久化数据管理等几方面进行了深入的研究于分析。 x m ld b 定义了三种x m l 数据库系统,包括x m l 原生数据库( n a t i v ex m l d a t a b a s e ) 、支持x m l 的数据库( x m le n a b l ed a t a b a s e ) 以及混合x m l 数据库。x m l 原生数据库是专门用来存储和管理x m l 文档的数据库,他以x m l 文档作为数据库的 单元进行操作与管理。其代表产品是t a m i n o 、d b x m l 、i x i a s o f t ls e r v e r 和x m l h i v e 等。支持x m 巴数据库则是在传统数据库的基础上增加对x m l 的支持,以便保 3 存和输出x m l 形式的文档,通过适当的a p i 对x m l 数据文档进行查询和修改。如 o r a c l e 9 i 1 0 9 、m ss q ls e r v e r 、i b md b 2x m le x t e n d e r 以及诸多x m l 中间件 产品。 r o n a l db o u r r e n t 根据x m l 应用特点的不同,将x m l 数据区分为以数据为中心的 ( d a t a - e e n t r i e ) 和以文档为中心的( d o e u m e n t - c e n t r i e ) 两类。将数据库产品分为中间件, 支持x m l 的数据库,原生x m l 数据库,x m l 服务器,x m l 应用服务器,内容管理 系统以及查询引擎,x m l 数据绑定等几类。介绍了如何通过数据库进行数据的存取, 如何将x m l 文档的结构和数据映射为关系数据库或内容管理系统,并维护着一个当前 各类数据库主要产品的列表。另外,他还给出了d t d x m ls c h e m a 到关系模型数据模 型的映射算法。 1 2 3 索引模式 在数据库技术中,索引的作用是快速定位记录。而在文档检索领域,索引除了有快 速定位记录的作用以外,还在一定的意义上具有文档表示的作用。 x m l 文档即含有本内容又含有结构信息和属性信息,所以对于x m l 文档的索引必 须考虑到用户对于内容,结构,属性的查询要求。 针对结构化文档的查询的要求,分为基于路径的( p a t h - b a s e d ) ,基于位置的 ( p o s i t i o n b a s e d ) 以及属性索引三种方法。 从结构化,半结构化和非结构化三种索引类型出发,主要的索引技术有基于字段 ( f i e l d b a s e d ) 、基于分段( s e g m e n t - b a s e d ) 、基于树( t r e e b a s e d ) 、i s a m 、b + 树、倒排 文档、多维索引等。 更多的研究成果还包括d a t a g u i d e 、t - i n d e x 、t o x i n 、x i s s 、i n d e x f a b r i c 等,这些 索引技术虽然实现方法各异。有都存在着不足之处,有的只针对完全无模式的文档、有 的需要多个索引结构、有的缺乏对大容量文档的支持。 1 2 4 查询语言 为了从x m l 以及半结构化数据中获取所需要的信息,研究人员开发了许多查询语 言,包括l o r e l 、x m l - q l 、x m l - g l 、q u i l t 、x p a t h 、x q u e r y 它们共同的特征为:采 用了正则路径表达式的形式,其本质是捕捉x m l 数据单元间的结构关系和内容。x p a t h 是实现x m l 数据周游的基本语言,是x s l t 、x q u e r y 的基础。当在x m l 文档类数据 之上处理x p a t h 查询时,借助于w 3 c 定义的x m l 数据处理的两种接口规范, d o m ( d o c u m e n to b j e c tm o d e l ) 和s a x ( s i m p l ea p i f o rx m l ) ,处理方式可概括为:顺序读 取x m l 文档中的节点,如果该节点的路径满足x p a t h 中定义的条件( 包括结构关系、测 试条件和谓词关系) ,那么该节点即为x p a t h 查询语句的一个输出。 4 1 2 5 系统实现 无论是数据模型,索引结构还是查询语言,所有对于这些技术的最终研究成果都要 服务于系统实现,即构造一个x m lr e p o s i t o r ys y s t e m ( x r s ) 。在x r s 中,结构化信息 的表示及其查询应该特别强调: 目前构造x r s 系统的方式主要有三种: 只构造一个用于管理x m l 文档的数据库系统。如l o r e 、d o c b a s e 。这种系统是专 门为存储和检索结构化文档而制作的,但在大规模文档管理方面还需要深入研究。 基于o o d b m s 而建造的。这种方法可能是最合适的方式,因此面向对象数据建模 技术适合于结构化信息的层次特征。同样,o o d b m s 在处理大规模数据方面还不够成 熟。 基于r d b m s 构造x r s 。因为r d b m s 很成熟,且能处理大规模数据,但就目前实 现方式来看,大多是将x m l 文档分解为多个表保存在数据库中,需要进行d t d s e h e m a 与关系模式的映射转换,且这种转换往往不能保证x m l 文档的原始性。 1 3 本文结构 本文通过对目前x m l 技术的分析,利用面向x m l 文档的信息检索技术,针对具 有丰富数据信息的多媒体文件,提出了一个面向多媒体信息检索的基础性的、简单的、 松散结构的多媒体文件元数据的交换平台,实现了对多媒体文件信息的检索。 本文的第一章是绪论部分,简单介绍了课题的研究意义,背景以及所涉及理论研究 基础。 第二章介绍关于x m l 语言的基础知识及相关的查询语言基础。 第三章通过以前对x m l 搜索引擎的研究成果的介绍,总结目前的搜索引擎技术并 提出了针对x l 讧l 文档的搜索引擎的模型。 第四章介绍了基于描述多媒体文件的媒体资源交换标识语言( m r e m l ) 在媒体资源 管理系统中的应用。 第五章介绍了媒体资源管理系统的硬件环境并在第四章的基础上将搜索引擎应用 在媒体资产管理系统之上,对不同类型的多媒体信息进行检索。 2 1 什么是x m l 第二章x m l 语言介绍 l 代表e x t e n s i b l em a r k u pl a n g u a g e ( e x t e n s i b l em a r k u pl a n g u a g e 的缩写,意为 可扩展的标记语言) 。x m l 是一套定义语义标记的规则,这些标记将文档分成许多部件 并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、 语义的、结构化的标记语言的句法语言。 2 1 1x l d l 是元标记语言 关于x m l 要理解的第一件事是,它不只是像超文本标记语言( h y p e r t e x tm a r k u p l a n g u a g e ,h t m l ) 或是格式化的程序。这些语言定义了一套固定的标记,用来描述一 定数目的元素。如果标记语言中没有所需的标记,用户也就没有办法了。这时只好等待 标记语言的下一个版本,希望在新版本中能够包括所需的标记,但是这样一来就得依赖 于软件开发商的选择了。但是x m l 是一种元标记语言,用户可以定义自己需要的标记。 这些标记必须根据某些通用的原理来创建,但是在标记的意义上,也具有相当的灵活性。 例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、 结婚、离婚等,这就必须创建用于每项的标记。新创建的标记可在文档类型定义 ( d o c u m e n tt y p ed e f i n i t i o n ,简称为d t d ) 中加以描述。只需把d t d 看作是一本词汇 表和某类文档的句法。例如,在p e t c r m u r r a y r u s t 的c h e m i c a lm a r k u pl a n g u a g e ( 化学 标记语言,简写为c m l ) 中的m o l d t d 文件中描述了词汇表和分子科学的句法:其 中包括c h e m i s t r y ( 化学) 、c r y s t a l l o g r a p h y ( 结晶学) 、s o l i d s t a t ep h y s i c s ( 固体物理) 等 词汇。它包括用于a t o m s ( 原子) 、m o l e c u l e s ( 分子) 、b o n d s ( 化学键) 、s p e c t r a ( 光谱) 等的标记。这个d t d 可与分子科学领域中的许多不同的人共享。对于其他领域也有其 他的d t d ,用户还可以创建自己的d t d 。 x m l 定义了一套元句法,与特定领域有关的标记语言( 如m u s i c m l 、m a t h m l 和 c m l ) 都必须遵守。如果一个应用程序可以理解这一元句法,那么它也就自动地能够理 解所有的由此元语言建立起来的语言。浏览器不必事先了解多种不同的标记语言使用的 每个标记。事实是,浏览器在读入文档或是它的d t d 时才了解了给定文档使用的标记。 6 2 1 2 ) n 也描述的是结构和语义,而不是结构化 关于x m l 要了解的第二件事是,x m l 标记描述的是文档的结构和意义。它不描述 页面元素的格式化。可用样式单为文档增加格式化信息。文档本身只说明文档包括什么 标记,而不是说明文档看起来是什么样的。 作为对照,h t m l 文档包括了格式化、结构和语义的标记。 就是一种格式化标 记,它使其中的内容变为粗体。 是一种语义标记,意味着其中的内容特别重 要。 是结构标记,指明内容是表中的一个单元。事实上,某些标记可能具有所有 这三种意义。 标记可同时表示2 0 磅的h e l v e t i c a 字体的粗体、第一级标题和页面标 题。 例如,在h t m l 中,一首歌可能是用定义标题、定义数据、无序的列表和列表项 来描述的。但是事实上这些项目没有一件是与音乐有关的。用h t m l 定义的歌曲可能 如下: h o tc o p b yj a c q u e sm o r a l ih e n r ib e l o l oa n dv i c t o rw i l l i s p r o d u e e r :j a c q u e sm o r a l i p u b l i s h e r :p o l y c , r a mr e c o r d s l e n g t h :6 :2 0 w r i t t e n :9 7 8 a r t i s t :v i l l a g ep e o p l e 而在x m l 中,同样的数据可能标记为: h o tc o p j a c q u e sm o r a l i 吲c o m p o s e r h e n r ib e l o l o v i c t o rw i l l i s j a c q u e sm o r a l i p o l y g r a mr e c o r d s 6 :2 0 9 7 8 v i l l a g ep e o p i e 在这个清单中没有使用通用的标记如 d 伊和 等。这种用法具有许多优点,包括源码 7 易于被人阅读,使人能够看出作者的含义。x m l 标记还使非人类的自动机器人易于找 出文档中的所有歌曲。在h t m l 中,机器人只能告诉我们这个元素是d t 。机器人不能 决定d t 到底代表一首歌的题目还是定义,或只是一些设计者喜爱的缩进文本格式。事实 上,单一文档中可以很好地包括带有三种意义的各种d t 元素。可以选择x m l 的元素名 称,以便使其在附加的上下文中具有额外的意义。例如,元素名称可以是数据库的域名。 x m l 比h t m l 更为灵活而且适用于各种应用,因为有限数目的标记不必用于许多不同 的目的。 2 2d t d 与s c h e m a 2 2 。ld t d x m l 被作为一种元标记语言,是一种描述标记语言的语言。这些新的标记语言( 也 叫标记集) 要通过文档类型定义( d t d ) 来定义。各个文档要与d t d 相比较,这一过 程称为合法性检验。如果文档符合d t d 中的约束,这个文档就被认为是合法的,否则 就是不合法的。 缩略词d t d 代表文档类型定义。一项文档类型定义应规定元素清单、属性、标记、 文档中的实体及其相互关系。d t d 为文档结构制定了一套规则。例如,一项d t d 指定 一个b o o k 元素有一个i s b n 子元素、一个t i t l e 子元素、一个或多个a u t h o r 子元 素,有或没有s u b t i t l e 。d t d 以元素、实体、属性和记号的标记声明来做到这一点。 d t d 可以包括在包含它描述的文档的文件中,或者与外部的u l 也相链接。这些外 部d t d 可以被不同文档和网站所共享。d t d 为应用程序、组织和兴趣组提供了共同遵 循的方法,同时也以文档形式阐述了标记标准并强制遵守此标准。 例如,为了使一部书易于排版,出版商会要求作者遵循一定的格式。作者可能不管 是否与本章前面的小标题列出的关键点相符合,而只管成行地写下去。如果作者用x m l 写作,那么出版商就能很容易地检查出作者是否遵守了d t d 做出的预定格式,甚至找 出作者在那里以及怎样偏离了格式。d t d 有助于不同的人们和程序互相阅读文件。例 如,如果化学家们通过专业机构( 如美国化学协会) 为中介同意将单一的d t d 用于基 本的化学记号,那么他们就能够阅读和理解他们当中任何人的文章。d t d 精确地定义 g 了什么允许或不允许在文档中出现。d t d 还为查看和编辑软件必须支持的元素建立了 标准。更重要的是,它建立了超出d t d 声明的非法范围。这就使它有助于防止软件商 乘机利用和扩展开放协议以便将用户锁定在他们的专利软件上。 而且,d t d 可以在没有实际数据的情况下展现出页面上的不同元素是如何安排的。 d t d 使人们能脱离实际数据看到文档结构。这意味着可以将许多有趣的样式和格式加 在基本结构上,而对基本结构毫无损害。这正如涂饰房子而不必改变基本的建筑计划。 页面的读者可能看不见甚至不了解基础结构,但是只要有了d t d ,任何人类作者和 j a v a s c r i p t 程序、d t d 程序、小服务程序、数据库和其他程序就可以使用它。 用d t d 还可以做更多的事。可以使用它们来定义词汇实体以插入署名块或地址一 类的模板文本。可以确定输入数据的人们是否遵循了格式。可以从关系数据库或对象数 据库中移出数据或把数据送往目标数据库。甚至可以用适当的d t d 利用x m l 作为中间 格式来转换不同的格式。 2 2 2s c h e m a 在x m ls c h e m a 之前已经开发出了四种模式语言:x d r ( x m ld a mr e d u c 以l , x m l 数据简化) 、d c d ( d o c u m e n t c o n t e n td e s c r i p i t i o n ,文档内容描述) 、s o x ( s i m p l e o u t l i n ex m l ,简单x m l 概要) 和d d m l ( d o c u m e n td e f i n i t i o nm a r k u pl a n g u a g e ,文档定 义标记语言) 。这四种模式语言已经有些过时了,但它们是x m ls c h e m a 的起点。w 3 c 于1 9 9 8 年开始指定x m ls c h e m a 的第一个版本,在2 0 0 1 年5 月正式由官方推荐。 下面是一个x m ls c h e m a 的例子: , x s d :e l e m e n tn a m e = e m a i l ”t y p e = x s d :s t r i n g m i n o c c u r s = o q ,4 x s d :d e m e n 伊 一般来说,这样的模式文件保存在一个后缀为x s d 的文件中,从这个模式文件我 们可以清楚地看到。它本身就是一个x m l 文档,因此也包含了x m l 声明,也可以具 有) 。v 【l 文档的所有特性。所有模式文件的根元素都是s c h e m a ,它在讧ls c h e m a 命 名空间h t t p :w w w w 3 o r g 2 0 0 1 x m l s c h e m a 中。最常映射到这个命名空间的前缀是x s d 或x s ,当然将其映射到其他前缀也是可以的。在这个模式文件中包含了6 个元素声明 和1 个属性声明。在x m l 模式中用x s d :e l e m e n t 元素来声明x m l 元素,用x s d :a t t r i b u t e 元素来声明x m l 属性。这两个元素已经在前缀x s d 所指向的命名空间中定义了。在每 个x s d :e l e m e n t 或x s d :a t t r i b u t e 元素中,l l a l l l e 和t y p e 属性分别用来说明x m l 文档的 元素或属性的名称和数据类型。每个x m l 文档的元素或属性都有一个数据类型,它限 定了元素的内容和属性值的验证,它可以是简单类型,也可以是复杂类型。在x m l s c h e m a 中用c o m p l e x t y p e 元素定义一个复杂类型。在上面的例子b o o k x s d 中可以看 到e o m p l e x t y p e 元素中有一个s e q u e n c e 子元素,它称为模型组。模型组允许把子元素 声明或引用组合起来,从而构建更有意义的内容模型。模型组共有三种:a l l 组f 要求所 有子元素以任何顺序出现0 次或1 次) 、c h o i c e 组( 允许几个予元素中的任何一个出现) 、 s e q u e n c e 组( 要求子元素必须以指定顺序出现) 。每种复杂类型都直接包含一个模型组子 元素。 x m ls c h e m a 具有强大的功能: 丰富而强大的数据类型 基于命名空间的u r i 的有效性验证 可扩展性和伸缩性 可重用性 x m l 文档在w e b 世界的应用非常广泛,从w e b 世界直接转换得到的x m l 数据库 可能会存在着插入、删除和更新等异常操作。为了避免这些异常现象的出现,就必须对 得到的讧l 数据库按照数据库设计的要求进行改进,而x m ls c h e m a 这种模式语言就 是规定了一个设计的要求,就如关系模式对于关系数据库一样。x m ls c h e m a 最重要的 处理是模式的验证。实例与模式之间有多种对应关系。一个模式可以描述许多有效的实 例,同样一个实例也可以被多个模式描述。模式的验证用来判断实例是否符合模式中所 描述的所有约束。它涉及到检查实例中所有元素和属性,从而确定它们是否有声明,以 及它们是否符合这些声明及相应的数据类型定义。而这里所说的模式就是订ls c h e m a , 而实例就是符合x m ls c h e m a 描述的x m l 文档。一个s c h e m a 通常是一组为了描述一 类给定的x m l 文档而预先定好的规则。它定义了可以在指定x m l 文档中出现的各个 元素以及和某个元素相关的若干属性。它同时定义了关于x m l 文档的结构化信息,比 1 0 如哪几个元素是其他元素的子元素,子元素出现的顺序和他们的数量。它还可以定义一 个元素是否为空,能否包含文本或者属性是否有默认值。 2 3x m l 文档的分类 2 3 1 以数据为中心的文档 以数据为中心的文档【1 1 就是将x m l 用作数据的传输载体,只提供给机器消费的文档, 在此) ( i l 通常并不是绝对必要的。也就是说,对于应用程序或数据库而言,( 在某个时 间段内) 数据是否以x m l 文档的形式存储并不重要。以数据为中心的文档的例子有销售 订单、航班时刻表、科研数据及股市汇率。以数据为中心的文档的特点是结构相当规整, 数据粒度精细( f i n e g r a i n e dd a t a ) ( 即最小的独立数据单位只存在于p c d a t a 元素或属 性这一级别) ,很少或没有混合内容。除非在对文档进行验证的时候,同级元素或p c d a t a 的出现次序一般来说并不重要。 以数据为中心的文档中的这类数据可以来自数据库( 此时要输入给x m l ) 或在数据 库之外( 此时要将其存入数据库) 。前者的一个例子就是关系数据库现存的大量数据; 而从测量系统采集并转化为x m l 的科研数据就是后者的例子。 例如,下面的销售订单就是以数据为中心的: s a l e s o r d e rs o n u m b e r = ”1 2 3 4 5 ”、 c u s t o m e rc u s t n u m b e r = ”5 4 3 ”、 a b ci n d u s t r i e s 1 2 3m a i ns t c h i c a g o i l 6 0 6 0 9 9 8 1 2 1 5 t u r k e yw r e n c h : s t a i n l e s ss t e e l , o n e p i e c ec o n s t r u c t i o n , l i f e t i m eg u a r a n t e e 9 9 5 1 l 1 0 s t u f f i n gs e p a r a t o r : a l u m i n u m ,o n e y e a rg u a r a n t e e 1 3 2 7 5 除了像销售订单这种显而易见的以数据为中心的文档之外,许多以文本为主的文档 也可以是以数据为中心的。例如,用来显示书籍信息的一个页面。尽管页面上大部分内 容都是文本,这些文本的结构是非常规则的,许多都和其它书籍的描述相同,每个页面 特有的文本并不很多。这样,就可以从数据库中取出书籍的相关资料,转换为简单的、 以数据为中心的x m l 文档,再用x s l 样式表生成页面。 2 3 2 以文档为中心的文档 以文档为中心的文档通常是供人消费的。例如书籍、e - m a i i 、广告以及几乎所有人 工写成的x h t m l 文件。其特性为结构不太或根本不规则、数据粒度大( 最小的独立数据 单位可能存在于包含混合内容的元素甚至整个文档本身) ,混合内容多。同级元素或 p c d a t a 出现的次序一般来说总是非常重要的。以文档为中心的文档通常是以x m l 手工写 成,或从其他格式( 如r t f ,p d f ,s g m l ) 转换到) ( m l ,与以数据为中心的文档不同,它 们的来源通常不是数据库。 例如,下面这个产品说明是以文档为中心的: t h e t u r k e yw r e n c h f r o m f u l 1 f a b r i c a t i o nl a b s ,i n c i s l i k eam o n k e yw r e n c h , b u tn o ta sb i g t h et u r k e yw r e n c h ,w h i c hc o m e si n b o t hr i g h t a n dl e f t h a n d e d v e r s i o n s ( s k y h o o ko p t i o n a l ) ,i sm a d eo ft h e f i n e s t 1 2 2 。4x m l 查询语言 由于) 0 v i l 文档是一种半结构化数据,不能直接使用传统的s q l 查询语言,而需要 一种新型的x m l 查询语言对x m l 文档进行查询。已经有很多组织提出了自己的x m l 查询语言,比较典型的有x p a t h 、x q u e r y 、l o r e i 、x q l 等,它们的共同特点是对x m l 文 档的定位采用路径表达式加以控制。其中,x p a t h 是w 3 c 组织推荐的一种路径导航式的 简单x m l 查询语言,x q u e r y 是w 3 c 提出的基于x p a t h 的较复杂的x m l 查询语言。 2 4 1x p a t h ) ( p a t h 的主要构件是表达式。其中,最重要的表达式是定位路径( 1 0 c a t i o np a t h ) 表达 式,简称路径表达式。它与计算机系统使用的文件系统极为相似。例如:p u b b o o k a u t h o r 定位路径有两种,分别是相对定位路径和绝对定位路径。每个定位路径表达式都由一个 或多个定位步( 1 0 c a t i o ns t e p ) 组成。绝对路径以“广 开始,它从文档树的根结点开始定位路 径;而相对路径则以广开始,它直接从某个定位步开始定位路径。x p a t h 中用上下文 结点集来描述定位路径的求值过程是如何进行的。上下文结点集定义为:表达式中给定 b 西 b d s a 耋一 m 饥 d 伽地 m 斌 几 u ,u 叭晏 k v ;町 k m 删 砌 唱 也哪 z n w t 庀 订妇, 伽 阻 d 叩 恤一一 童| 汹 讹 喜; 一一 一 l 呈 胁 一 一 一 l 1 d 口 c 1 c a 一一一 一 一一 s h n p k k k c k 曲 卜 妇 加 吖,、 d m 啦 。 剐 l l t 阿f m 蚕哪 鼢姗_ 耋 ,m州咖伽渺俩d呈;沈町, a t b 扎i t i t i s ,、 e u a i t r s i liii a d f ; r r c 嬲 妇乱q钉v u帆删啪研眦 n l o b 中 溶m q q 0 婶 v 瞻如 点确定的当前结点集。上下文定义为:正在处理的当前结点。定位路径表达式的计算过 程是从左到右一次计算每一个定位步。每一个定位步的计算是基于其上下文结点集进行 的,需要基于它的上下文结点集中的每一个结点进行求值。如果定位路径是绝对的,则 初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小兔子借尾巴课件
- 高潜力的行业专业监察员面试题库
- 管理岗位面试实战模拟题库
- 文库发布:小儿课件
- 大班科学教案及教学反思《有趣的蜡》
- 大学秋季开学典礼活动总结
- 大学生情绪管理学习心得体会
- 临床执业医师真题附完整答案详解【名校卷】
- 大学寒假社会实践活动方案
- 小儿流感预防课件
- 高级西点师习题及参考答案解析
- 2025年中学教师资格证《教育知识与能力》模拟试题-附解析
- 中国急性缺血性卒中诊治指南(2023)解读
- MOOC 中国电影经典影片鉴赏-北京师范大学 中国大学慕课答案
- 上海文化发展基金会调研报告
- GB/T 17478-2004低压直流电源设备的性能特性
- GB/T 13477.10-2017建筑密封材料试验方法第10部分:定伸粘结性的测定
- 国网十八项重大反措试题库完整
- 应急疏散培训试题
- 台州市街头镇张家桐村调研报告
- 公司义务消防员培训记录表
评论
0/150
提交评论