(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf_第1页
(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf_第2页
(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf_第3页
(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf_第4页
(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的异构数据交换技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨理t 大学工学硕士学位论文 基于x m l 的异构数据交换技术研究 摘要 随着网络技术的飞速发展和网络传输速度的大幅度提高,基于i n t e r n e t 的应用也越来越丰富。在众多的应用技术中,电子数据交换是一项涉及面 广,影响力大,蓬勃发展中的信息技术,已成为当今参与国际贸易竞争的重 要手段。 扩展标记语言( x m l ) 为实现安全、高效的电子商务提供了一种开放的标 准,它解决了传统数据交换的一些弱点,将中小企业带入到电子商务之中。 使用x m l 结构化的数据可以从商业规范和表现形式中分离出来,非常便利 地进行交换和处理。所以它一经出现就成为新一代数据交换的标准。 x m l 为本地信息管理系统和基于w e b 的应用系统提供了良好的数据 接口,但由于纯x m l 数据库技术还很不成熟,大部分数据都保存在关系数 据库中,所以,解决x m l 数据和关系数据的对应关系就成为x m l 应用于 数据交换的基础。 本文首先剖析了传统数据交换的弱点,并具体地阐述了x m l 的产生和 发展历程,分析了x m l 应用于数据交换的好处;然后,介绍了相关的 x m l 技术标准,包括x m l 标准体系、x m l 数据模式、x m l 数据模型和 x m l 编程接口;同时,介绍了数据交换的理论知识;紧接着,重点讨论了 x m l 数据和关系数据的转换问题,并给出了相应的实例及扩展s q l 和基于 r x l 语言的转换算法;最后,采用x m l 作为解决方案,结合a d o 和 d o m 设计了一种三层数据交换模型。 关键词可扩展标记语言;电子数据交换;文档类型定义;数据交换 哈尔滨理工大学1 = 学硕士学位论文 r e s e a r c ho fd a t ae x c h a n g eb a s e do nx m lf o r h e t e r o g e n e o u sd a t a a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g y , t h et r a n s f e r r i n gs p e e do f n e t w o r kh a sb e e na c c e l e r a t e d t h u s ,w eh a v em o r ea n dm o r en e wa p p l i c a t i o n s b a s e do i lt h ei n t e r n e t 。a m o n ga l lt h e s ea p p l i c a t i o n s ,t h ee l e c t r o n i cd a t a i n t e r c h a n g e ( e d i ) i sad e v e l o p i n gi n f o r m a t i o nt e c h n o l o g yw h i c hh a v eg r e a t i n f u l e n c e ,a n dn o w i th a sb e c o m eo n eo fm o s ti m p o r t a n tm e a n sf o rt h ec o m p e t i n g o ft h ei n t e r n a t i o n a lt r a d e e x t e n s i v em a r k u pl a n g u a g ep r o v i d ea no p e n i n g - s t a n d a r df o rt h es a f e t y a n d e f f i c i e n te l e c t r o n i cc o n l n l e r c e b e c a u s ei m p r o v i n gt h ew e a k n e s so ft h e t r a d i t i o n a le d i ,i tb r i n g st h es m a l l - m e d i u m e n t e r p r i s e i n t ot h ee l e c t r o n i c c o m m e r c em a r k e t t h ex m l s t r u c t u r e dd a t ac a nb es e p a r a t e df r o mt h eb u s i n e s s r u l ea n dt h e e x p r e s s i o nf o r m ,e x p e d i e n t l yf o rt h ed a t ae x c h a n g ea n dd a t ap r o c e s s s ot h ex m li sr e g a r d e d 懿t h es t a n d a r do fd a t ae x c h a n g ew h e ni tj u s ta p p e a r e d x m lp r o v i d e sa ne x c e l l e n td a t ai n t e r f a c ef o rt h en a t i v em i sa n dt h e a p p l i c a t i o ns y s t e mb a s e do nw e b ,b u td u et ot h et e c h n o l o g yo ft h en a t i v ex m l d a t a b a s ei si m m a t u r e ,m o s to fd a t aa r es t o r e di nt h er e l a t i o n a ld a t a b a s e ,s oi t b e c o m e st h ef o u n d a t i o no ft h ea p p l i c a t i o no fx m li nd a t ae x c h a n g et os o l v et h e c o r r e s p o n d i n gr e l a t i o nb e t w e e nx m l d a t aa n dr e l a t i o n a ld a t a f i r s ta n df o r e m o s t ,t h i st h e s i sa n a l y z e st h ew e a k n e s so ft r a d i t i o n a ld a t a i n t e r c h a n g ea n de x p a t i a t e st h ec o u r s eo ft h ex m l sp r o d u c ea n dd e v e l o p m e n t , a n a l y z e sa d v a n t a g e so fx m lw h e ni ta p p l i e so nd a t ae x c h a n g e t h e n ,r e l a t e s x m l s t a n d a r d ,i n c l u d i n gx m l s t a n d a r ds y s t e m ,x m ld a t as c h e m a ;x m ld a t a m o d ea n dp r o g r a mi n t e r f a c e ,a tt h es a m et i m e ,i n t r o d u c e st h e o r yo fd a t a e x c h a n g e n e x t ,t h i st h e s i se m p h a s i z e so nt h et r a n s f o r m i n gb e t w e e nt h ex m l d a t aa n dt h er e l a t i o n a ld a t aa n dg i v e st h ei n s t a n c e sa n dt r a n s f o r m i n ga l g o r i t h m r e s p e c t i v e l yb a s eo np a t u l o u ss q l a n dr x l f i n a l l y , u s i n gx m l 嬲a s t r a t e g y , 哈尔滨理工大学t 学硕上学位论文 w i t ha d oa n dd o m ,t h i st h e s i sd e s i g n sad a t ae x c h a n g em o d e k e y w o r d s e x t e n s i v em a r k u pl a n g u a g e , e l e c t r o n i cd a t a i n t e r c h a n g e , d a t a d o c u m e n tt y p e ,d a t ae x c h a n g e m 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于x m l 的异构数据交 换技术研究,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间 独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包 含他人已发表或撰写过的研究成果。对本文研究工作做出贡献的个人和集 体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。 作者签名: 却 漏 哈尔滨理工大学硕士学位论文使用授权书 基于x m l 的异构数据交换技术研究系本人在哈尔滨理工大学攻读 硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔 滨理工大学所有,本论文的研究内容不得以其它单位的名义发表。本人完全 了解哈尔滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有 关部门提交论文和电子版本,允许论文被查阅和借阅。本人授权哈尔滨理工 大学可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或 部分内容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密由。 ( 请在以上相应方框内打) 作者签名:劫七湄日期:力唠年乡月l q 日 导师签名:孝似考 日期:订年哆月,d 日 哈尔滨理工大学工学硕士学位论文 第1 章绪论 随着i n t e r n e t 技术的出现和发展,实现了全球范围的网络互联与通信, w e b 技术的发展更是一日千里,从而使w e b 成了最大的环球信息资源库。然 而对不同平台、不同格式的数据源进行数据集成和数据转换的需求越来越广泛 和迫切。在数据交换领域中,没有标准的部落式交换的代价是高昂的,相同的 数据分析处理模块在很多应用中被重复地撰写,可能只是为了将某一数据源的 数据转换到各个不同的目标数据源中去。由于没有中间标准,各个系统的实现 人员也几乎没有可能将代码重用,昂贵的数据交换代价使得数据源只能散乱孤 立地存在。前面描述的这一状况在x m l 出现之前,在绝大多数的应用领域里 都是如此,即使在某些局部领域,如传统的电子商务领域,有e d i 这么一种商 务信息的交换标准,可是在更广泛一点的领域,仍然没有一个全域统一的交换 体系。而x m l 作为一种数据格式描述的元语言标准,从出现以后,就不断地 被应用到各种不同的数据交换领域中去。 1 1 研究背景 1 1 1e d i 自7 0 年代以来,由于工业、交通与通信技术的发展,生产社会化促进了 经济全球化,产业结构调整,跨国公司的出现,推动了国际贸易的发展,但由 此也引发了各种贸易与单证、纸面文件的激增。人工处理单证、纸面文件劳动 强度大、效率低、出错率高、速度慢、费用大,这成为阻碍贸易发展的一个突 出因素。制造商、供应商、用户之间强烈要求提高商业文件的交换处理速度和 正确度,在这种背景下,以计算机网络通讯和数据标准化为基础的e d i 应运而 生。 e d i ( e l e c t r o n i cd a t ai n t e r c h a n g e ) 国际标准化组织( i s o ) 定义:“为商业或行 政事务处理,按照一个公认的标准,形成结构化的事务处理或消息报文格式, 从计算机到计算机的数据传输方法”【l 】。e d i 由e d i 软件,e d i 硬件,通信网络 三部分组成。传统的e d i 一般是通过专用的增值网络( v a l u ea d d e dn e t w o r k s , v a n ) 来实现的。商业伙伴双方必须都是e d i 用户,用户使用e d i 软件将数据 库系统中的信息翻译成e d i 的标准格式,在专用的增值网络上传输,接收方按 哈尔滨理工大学工学硕士学位论文 照统一规定的语法处理报文,完成信息数据的交换和相应的处理。 传统e d i 诞生在七十年代,是与当时那种大型机的集中事务处理的环境相 适应的,它结束了单据、票证的纸上作业时代,实现了无纸化贸易”,但是随 着环境的变化,呈现出了很多不足,已经越来越不适应现代化商务贸易的需 要。其不足表现在: 1 e d i 报文采用固定的事务集合,需要专用的e d i 软件,通过专用的增值 网络传输,改造现有的系统耗费昂贵,中小企业无力承受,使得e d i 的应用难 以普及,仅限大型企业; 2 e d i 数据通过各种标准,包括专业、行业、国家和国际标准进行交换, 基于固定的交易集,复杂而缺乏灵活性,在实际的商务贸易中不能实现快速应 变; 3 不同的企业实现e d i 要对标准进行选择,去掉不使用的部分,对标准 消息进行裁剪,且不同的版本的相容性较差; 4 e d i 报文的读写和转换对程序员的要求较高,程序员需要经过数月的训 练,给技术的推广带来了不便【2 1 。 1 1 2i n t e m e te d i i n t e m e te d i 主要包括基于i n t e m e t 的e d i 和w e be d i : 1 基于i n t e m e t 的e d ii n t e m e t 是世界上最大的计算机网络,它对e d i 有如下影响【3 】:i n t e r n e t 是全球网络结构,可以大大扩大参与交易的范围;相 对于私有网络和传统的增值网来说,i n t e r n e t 可以实现世界范围的连接,花费 很少;i n t e r n e t 对数据交换提供了许多简单而且易于实现的方法,用户可以使 用w e b 完成交易;i s p 提供了多种服务方式,这些服务方式过去都必须从传统 的v a n 那里购买,费用很大。 i n t e r n e t 和e d i 的联系,为e d i 发展带来了生机。e d i 用v a n 进行网络传 输、交易和将e d i 信息输入传统处理系统的e d i 用户,正在转向使用基于 i n t e r n e t 的系统,以取代昂贵的v a n 。 i n t e m e tm a i l 最早把e d i 带入i n t e m e t ,用i s p 代替了传统e d i 依赖的 v a n ,解决了信道的廉价问题。但是,简单电子邮件协议( s t m p ) 缺少:( 1 ) 保密性,e m a i l 在i n t e r n e t 上传送明文;( 2 ) 不可抵赖性,e m a i l 很容易伪造, 并且发送者可以否认自己是e m a i l 的作者;( 3 ) 确认交付,s t m p 不能保证你 正确交付了e m a i l ,无法知道是否丢失。电文加密、电子认证和应用级的确认 哈尔滨理1 = 大学工学硕士学位论文 部分地解决了这些问题,另外i n t e r n e t 的e d i i n t 工作小组也曾发布在i n t e r n e t 上进行安全e d i 的标准。针对e d i 标准在许多应用中过于复杂的情况,标准 化组织对一些特定的应用制订了简单标准,它既不同于过去的行业、国家标 准,是一种特殊的跨行业的国际标准,也不同于过去制定的国际标准,相对比 较简单,并考虑了i c 的一些需求。例如o b i ( o p e nb u y i n go nt h ei n t e r n e t ) 就是 一个成功的例子,o b i 针对大量的、低价格的交易定义了一组简洁的消息,这 些交易占所有交易的8 0 以上,实现了e d i 节省费用的目标。 2 w 曲e d iw 曲e d i 方式被认为是目前m t e r n e te d i 中最好的方式。 w e b e d i 的目标是允许中小企业只需通过浏览器和i n t e r n e t 连接去执行e d i 交 换。在w e b e d i 中,w e b 是e d i 消息的接口。典型情况下,由较大的公司针 对每个e d i 信息开发或购买相应的w e b 表单,然后把他们放在w e b 站点上, 此时,表单就成为了e d i 系统的接1 3 。较大公司的合作伙伴( 一般为较小的公 司) ,登陆到w e b 站点上,选择他们所感兴趣的表单,填写后并提交给w e b 服 务器,服务器端程序将把这些表单变成通常的e d i 消息,此后消息的处理就与 传统的e d i 消息处理一样了。很明显,这种解决方案对中小企业来说是负担得 起的,只需要一个浏览器和i n t e r n e t 连接就可完成,e d i 软件和映射的费用则 花在服务器端。但是这种e d i 交换是不对称的:大公司一方承担所有实现e d i 的费用,于是,它可以享受e d i 带来的全部好处;而另一方中小企业,w r c b e d l 只能让他们负担得起用e d i 的费用,只是参与了交换,与实现e d i 方( 较 大的公司) 是不对等的关系。并且由于数据的传输路径是w e b 服务器一浏览 器或者浏览器w e b 服务器浏览器,数据是最后发布在浏览器上,供人们 阅读和理解,侧重于信息对人的可理解性,因此数据表现被提到一个重要的地 位,数据的结构化显得较为次要一些。 各种i n t e m e te d i 的方式,尤其是w e b e d i 方式的使用,使传统e d i 走出 了困惑,特别是使中小企业能够接受。但另一方面,数据显示的载体h t m l 语言是一种固定格式的语言,难以扩展,不能满足电子商务内容和活动发展而 带来的多类型数据处理的需要。 1 1 3 标识语言及其对数据交换技术的影响 标记语言的出现使传统数据交换技术得nt 发展: 1 s g m l 6 0 年代,i b m 便着手研究通用标识语言( g e n e r a l i z e dm a r k u p 哈尔滨理t 大学- t 学硕士学位论文 l a n g u a g e ,g m l ) 来描述文件及其格式。1 9 7 8 年,美国国家标准局( a n s i ) 将 g m l 规范成s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 标准。1 9 8 6 年,国 际标准化组织( i s o ) 发布了s g m l 的正式文本一s g m li s 0 8 8 7 9 1 9 8 6 ,使 s g m l 成为通用的描述各种电子文件的结构及内容的国际标准,为创建结构 化、可交换的电子文件提供了依据。利用s g m l ,可以将来源不同的原始资 料,如s g m l 片断、字处理文件、数据库查询结果、图形文件、视频文件等 各方面的资料,组装在同一个文件中,利用文件格式定义( d o c u m e n tt y p e d e f i n i t i o n ,d t d ) 自由定义文件结构、添加标记或验证电子文件是否遵循d t d 所定义的结构。 2 h t m ls g m l 过于繁复,许多可选特性w e b 开发不必要,难以应 用。i n t e m e t 的广泛应用,需要人人都易上手的描述语言。作为s g m l 的子 集,超文本标识语言( h y p e rt e x tm a r k u pl a n g u a g e ,h t m l ) 应运而生。 h t m l 语言简单易用,它提供了一种文本结构和格式,使其能够在浏览器 上呈现给访问它的用户。h t m l 不同于一般的a s c h 文件,是对a s c i i 文件 的一种增强版本。它在文件中加入标签,使其可以显示各种各样的字体、图形 及闪烁,还增加了结构的标记,如头元素、列表和段落等,并且提供了到 i n t e r n e t 上其它文档的超文本链接。h t m l 成为w e b 上的通用语言,用它可以 方便地制作网页、建立链接,很快它便成为了w e b 蓬勃发展的基石。 但是,h t m l 过于简单,随着w e b 文件内容的增多和形式多样化,越来 越显得不适应,原因是h t m l 定义了唯一的文件类型,并且标记集不能被改 动,简单易用却牺牲了语言性能 4 i 。 3 x m l1 9 9 6 年1 1 月,波士顿s g m l 年会上,新的数据描述语言 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 可扩展标识语言公布于世,并向w 3 c ( w o r l d w i d ew e bc o n s o r t i u m ) 正式提案。相对于h t m l 只是s g m l 衍生出来的一种文 件格式,x m l 则免除了s g m l 的繁复但仍保持其威力,这使s g m l 的优秀品 质能方便而直接地被用在w e b 开发上。 x m l 继承了s g m l 具有的可扩展性、结构性及可校验性,与h t m l 语言 相比,区别主要在三方面: 可扩展性方面:h t m l 不允许用户自行定义他们自己的标识或属性,而在 x m l 中,用户能够根据需要,自行定义新的标识及属性名,以便更好地从语 义上修饰数据。 结构性方面:h t m l 不支持深层的结构描述,x m l 的文件结构嵌套可以 复杂到任意程度,能表示面向对象的等级层次。 哈尔滨理工大学1 = 学硕士学位论文 可校验性方面:h t m l 没有提供规范文件以支持应用软件对h t m l 文件 进行结构校验;而x m l 文件可以包括一个语法描述,使应用程序可以对此文 件进行结构确认。 表面上看,x m l 文件与h t m l 文件比较相似,都以一对相互匹配的起始 和结束标记符来标记信息,但二者功能不同,h t m l 用来显示数据,x m l 则 是描述数据对象,后者可以多种方式显示,也可以由其他应用软件进行深入的 处理。在超链接方面,h t m l 虽然可以链接本机或其他主机上的文件,但只能 指定单向且固定的链接位置,x m l 可以建立多重链接,除目标网页位置外, 同时可提供如何从其他网址链接的信息,可以进一步指定目标网址找到后的动 作,是否自动显示或搬运到原有的文件内。 4 x m l 对i n t e m e te d i 的影响x m l 应用于i n t e m e te d i ,则可以得到真 正w e b 风格的e d i - - x m l e d i 。x m l 支持结构化的数据,可以更详细地定义 某个数据对象的数据结构,如描述产品,详细定义该产品的生产厂、产品名、 产品号、产地等信息,不仅为标记该产品提供方便,而且这种x m l 数据很容 易按生产厂、产品名等排序,查询更方便。如果出现商业规则的例外,例如填 写一个订购单,销售商可能想增加注释,反映一定的商业操作,x m l 编写的 w e b ,指定的数据放入文档中后,便可以加入一些注释,解决了以前固定格式 e d i 的困难。 x m l e d i 引进模板( t e m p l a t e ) 的概念,解决了e d i 的主要问题映射。 模板描述的不是消息的数据,而是消息的结构以及如何解释消息,能做到无须 编程就可实现消息的映射。在用户计算机上,软件代理用最佳方式解释模板和 处理消息,如果用户应用程序实现了x m l e d i ,那么代理可以自动完成映 射,并产生正确的消息,同时,代理可以为用户生成一个w e b 表单。与w e b - e d i 不同,x m l e d i 可以在客户端处理消息,自动完成映射,花费很小。通 过模板,用户可以得到对其环境的最佳集成,模板可以存储在别处,动态结合 到本地应用程序中,这些使x m l i e d i 成为名符其实的w e b 风格的e d i 。 x m l 描述数据本身,不像h t m l 仅描述数据的显示,这使x m l 可以支 持灵活多变的w e b 应用。x m l 可以从不同的来源集成数据,将多个应用程序 所生成的数据纳入同一个x m l 文件并传送到客户机上,被解析出来的x m l 数据可以在本地被编辑或操纵,即本地用户非常容易实现对x m l 数据的有效 利用。 w e b 开发者经过大量努力发明了针对各种应用的格式,支持这些格式需要 做大量传统的工作:读取、分析、注释并存储该数据,还要把它们格式化以便 哈尔滨理工大学工学硕士学位论文 显示。使用x m l 及支持工具,可以不要做这么多程序性的工作,s g m l 风格 的d t d ( 文件格式定义) 可以使数据定义变为说明方式,数据的分析和确认也不 需要程序性逻辑,显示的格式化理论上只要x m l 在对象模型和浏览器对象模 型间进行映射。 w e b e d i 允许中小企业只需通过浏览器和i n t e r n e t 连接去执行e d i 交换, 但它是不对称的。一方实现e d i 交换,承担所有实现e d i 的费用,一般是较 大的公司,它对e d i 消息开发或购买相应的w e b 表格、改造成适合自己的 i c ,然后放在w e b 站点上,成为e d i 的接口,于是,它可以享受e d i 带来的 全部好处,另一方只参与e d i 交换,但不能从e d i 中得到好处,因此,w e b e d l 只能让中小企业负担得起上e d i 的费用,但在得到e d i 的好处方面,与实 现e d i 方( 较大公司) 是不均等的。x m u e d i 则不同,它能让所有的参与者都从 e d i 中得到好处,它是对称的e d i 。这一方面由x m l 的结构化和文件格式定 义( d t d ) 特点所致;另一方面则由于x m l 的超链接,可以进一步指定目标找 到后的动作。x m l 本身的互操作性,使x m l e d i 的参与者都能从中获得好 处,无论是大企业,还是中小企业。 i n t e r n e t 将传统e d i 带出了困惑,进入新一代i n t e r a c te d i ,h t m l 带来了 i n t e r n e t 、w w w 及至i n t e m e te d i 的发展,但因其过于简化,逐渐为w e b 的发 展所不容。x m l 顺应需要,其优秀性能带来了新一代w e b ,更带来了真正 w e b 风格的e d i 。发展中的x m l e d i 将与电子商务和商务智能良好相容,其 更深远的影响有待进一步探索和实现【5 j 。 1 2 课题来源及研究内容 1 2 1 课题来源 本课题来源于黑龙江省自然科学基金项目:f 2 0 0 7 0 2 。 1 2 2 本文的研究内容 第一章,主要介绍研究背景,介绍了e d i 和标记语言的发展以及标记语 言,特别是x m l 对于传统e d i 的影响。 第二章,简要介绍x m l 技术及与数据交换相关的技术,包括标准体系、数 据模式、编程接口及应用领域等。 , 哈尔滨理工大学工学硕士学位论文 第三章,对数据交换理论进行研究,给出了数据交换的概念,内容,分析 了数据交换的过程及数据交换的安全性问题。 第四章,讨论了x m l 与关系数据的关系,以实例的形式着重研究了x m l 文档与关系数据的交换。 第五章,给出了一个x m l 数据交换的三层模型。 哈尔滨理工大学工学硕士学位论文 第2 章x m l 及其相关技术概述 x m l 旧( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是i n t c r n e t w w w 上信息表示和数据交换的一种高效可靠的标记语言。其应用范围从早期的信息 表示发展到后来的数据交换开发标准。本章论述x m l 及其与数据交换相关的 技术,为设计数据交换系统做好理论基础。 2 1x m l 技术 x m l 是w 3 c 在1 9 9 8 年2 月正式发布的标准,x m l1 0 版本规范说明明 确给出了x m l 的设计目标【6 】: 1 x m l 应该可以直接用于l n t e r n e t ; 2 x m l 应该支持各种应用程序; 3 x m l 应该与s g m l 兼容; 4 编写处理x m l 文档应该很简单; 5 x m l 中可选特性的数目应该尽可能的少,理想情况是零; 6 x m l 文档应该便于阅读且相当清晰; 7 x m l 的设计应该很快准备好; 8 x m l 的设计应该正式而且简洁; 9 x m l 文档应该易于创建; 1 0 x m l 标记的简洁性应该是最不重要的。 x m l 是s g m l 的子集,w 3 c 采取了简化s g m l 的策略,在s g m l 的基 础上,去掉语法定义部分,并适当简化的d t d 部分,增加了更多的互联网特 性。x m l 比s g m l 更简单实用。 x m l 具有以下特点【7 ,8 】: 跨平台性:x m l 是经过检验的国际标准,使用文本来保存数据,而不是 使用二进制格式,因此对应跨平台的交换数据是十分方便的。 自描述性:这个特性使差异性可以存在,使计算机可以在没有人为干涉的 情况下,理解数据的含义。 可扩展性:文档通过d t d 或s c h e m a 来定义文档结构,使其他信息系统自 动了解文档的内容。 可效验性:用户可以通过d t d 或s c h e m a 来效验x m l 文档的格式是否满 哈尔滨理工大学工学硕十学位论文 足d t d 或s e h c 目r n a 的约束。 层次结构:能够保证信息的层次性描述。 电子商务应用:在这个领域中,x m l 一般承担了以往e d i 所承担的角 色,人们依靠x m l 来描述交换商务事务信息,实现分布式的电子商务应用的 交互。 数据层集成:对于当代电子商务而言,商务数据的交换是应用的关键环 节,随着在电子商务应用中商务信息交换的应用模式不断为主流应用开发所接 受,面向通用领域的数据集成数据交换应用也成为了一个重要的x m l 应用领 域。 应用层集成:当x m l 在经历了电子商务应用的经验之后,人们逐渐地不 仅在数据层上完成应用系统的连接,同时希望能在业务层或者函数层上完成系 统的互联,这也就是人们常说的i m e n l e t 环境的应用的广泛互联,这方面的技 术主要是以x m l 为技术基础的w e bs e r v i c e s 系列技术。 2 2x j v l 标准体系 l 是一组开放式的标准,它包括3 个相互联系的标准:( 1 ) x m l ) ( 2 ) x s l ( e x t e n s i b l es t y l el a n g u a g e ,可扩展的样式语言) ;( 3 ) x l l ( e x t e n s i b l e l i n k i n gl a n g u a g e ,可扩展的链接语言) 。这3 个标准相辅相成,使x m l 语言 在数据标记、显示风格和超文本链接方面功能强大,对数据交换十分便利。 x m l 强调内容描述与形式描述的分离,一方面可以使x m l 文件的编写者 更集中精力于数据本身,而不受显示方式的细节影响;另一方面可允许为相同 的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使x m l 数据 得到最大程度的重用。x m l 文档数据的显示形式是通过样式单定义的。 c s s ( c a s c a d i n gs t y l es h e e t s ) 是x m l 使用的一种标准的级联样式单, x s l ( e x t e n s b i l es t y l el a n g u a g e ) 贝, l j 是可扩展的样式语言。由于x m l 允许用户创 建任何所需的标记,而通用浏览器却既无法预期用户标记的意义又无法为显示 这些标记而提供规则,因此用户必须为自己创建的x m l 文档编写样式单,而 样式单可以实现共享。浏览器对一个x m l 文档的处理过程是:首先去关联它 所指定的样式单文件,如果该样式单是一个x s l 文件,则按照规定对x m l 数 据进行转换后再显示,x s l 本身也是基于x m l 语言的,可以将x m l 转化为 h t m l 后再显示。如果该样式单是一个c s s 文件,浏览器就会按照样式单的 规定给每个标记赋予一组样式后再显示。 哈尔滨理工大学工学硕士学位论文 x s l 是专门为x m l 设计的样式语言。x s l 本身也是x m l 文档,完全遵 照x m l 的语法,采用转换的方式,将一种格式的x m l 转换为另一种格式的 x m l 。x s l 标准关于转换语法的描述得到了飞速的发展,并从x s l 中分离出 来,独立成为一种新的标准即:x s l t ( x s lt r a n s f o r m a t i o n ) 。x s l t 转换必须由 专门的称为x s l 处理器的软件来进行。任何x m l 文件必须先经过解析器解析 和整理,以便进一步利用。x s l 样式表和所要转换的x m l 源代码都属于 x m l 文件,也都需要解析。因此,x s l 处理器在工作之前,须先通过x m l 解析器将x s l 样式表和x m l 文件的结构分析清楚。转换前的x m l 文件的结 构称为源树,转换后的x m l 文件的结构称为结果树。x s l 处理器在x m l 解 析器对x s l 样式表和要转换的x m l 文件解析完成之后,就依照样式表的结构 逻辑指示,对源树的各节点进行遍历,生成结构树,并同浏览器在屏幕上显示 或输出到文件保存。 x l l 是x m l 的链接语言,扩展了目前w e b 上已有的简单链接,能支持独 立于地址的域名、双向链接、环路、多个源的集合链接等,打破了h t m l 超 级文本概念下的链接机制。它可以不受文档的制约,完全按用户要求来指定和 管理。当前已有用j a v a s c r i p t 标记的实验性产品,但是支持它的浏览器还没有 上市,在w w w 工作组中该规范的标准化工作也正在开发阶段1 9 1 。 2 3x m l 数据模式 x m l 文档有格式良好和有效性约束两种性质。格式良好适合于所有的 x m l 文档,即满足一定标准中对格式的规定。而当x m l 文档满足一定的语义 约束则称该文档为有效的x m l 文档。为描述x m l 数据结构和约束,至今已 提出多种x m l 数据模式语言。最早也是最成熟的是文档类型定义( d t d ) ,而 将逐渐取代d t d 的是w 3 cx m ls c h e m a 。另外具有代表性的数据模式语言还 有x d r ( 订l 数据自由化,x m ld a t ar e d u c e d ) 、s o x ( 简单x m l 概要, s i m p l eo u t l i n ex m l ) 、d s d ( 文档内容描述,d o c u m e n tc o n t e c td e s c r i p t i o n ) , 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 ) 。下面就 常用的d t d 和s c h e m a 进行简单介绍。 1 d t dx m l 的语法是通过d t d ( 文档类型定义,d o c u m e n tt y p e d e f i n i t i o n ) 来描述的。d t d 列出了可用在x m l 文档中的元素、属性、实体和 符号的表示方法,以及这些内容之间可能的相互关系。d t d 确切定义了在文 档中允许出现什么,不允许出现什么。d t d 可以包含在它所描述的x m l 文档 哈尔滨理t 大学工学硕士学位论文 中,称之为内部d t d ,或者将d t d 与x m l 文档分离,把d t d 存储在一个后 缀为d t d 的文件里,称之为外部d t d 。引用一个外部d t d ,只需要在x m l 声 明后面加上d t d 声明即可。另外有一种称为公用d t d 的外部d t d ,它是由 权威机构制订的,提供给特定行业或公众使用。d t d 文件包含d t d 声明和文 档类型声明两个部分,文档类型声明出现在x m l 文档中,紧跟在x m l 声明 之后,将x m l 文档与d t d 关联起来。每个文档都要与其d t d 相对照,以确 保它是有效的x m l 文档。多个x m l 文档可以共享常用的d t d ,这些d t d 可以由不同的人编写,它为形成一致的标记标准并使其文档化提供了一种方 式。 2 x m ls c h e m ax m l 文档本质上是保存信息的结构化载体。为了得到 有效的x m l ,必须要明确信息必须遵守的结构规则,d t d 解决了这一问题, 但是d t d 也存在一些不足: ( 1 ) d t d 几乎完全没有数据类型的定义,特别是对元素的内容而言。 d t d 中,一切都是基于字符串,无法将y e a r 表示为一个四位数字,更不能把 m o n t h 表示为一个l 1 2 之间的整数; ( 2 ) d t d 的定义不符合x m l 语法。它采用的是一种不同于x m l 文档中 元素描述的描述方法,这给处理上带来了麻烦; ( 3 ) d t d 只能有限的扩展,而且扩展得不好; ( 4 ) d t d 的约束能力不足,无法对x m l 实例文档做出更细致的语义限 制。在d t d 中,符号“? ”,“ ,+ ,分别指定“零个或一个”,“零个或多个”, “一个或多个”,但如果要表达形如a u t h o r 只能出现l 一3 次这样的约束,就有点 困难; ( 5 ) d t d 不够结构化,重用的代价相对较高。 于是w 3 c 提出了x m ls c h e m a ,它的新特征弥补了d t d 的不足: ( 1 ) 丰富的数据类型:x m l 大纲支持的数据类型包括:数字型、布尔 型、整型和日期时间等等。而且它还支持由这些简单的类型生成更复杂的类 型,并且可以由用户自定义数据类型; ( 2 ) 一致性:x m ls c h e m a 本身也是一个x m l 文档,使得对x m l 的结 构规范不必再利用一种特定的形式化的语言,它用x m l 语言规范来定义; ( 3 ) 属性分组:属性的应用范围是多种多样的。有的是所有元素都有 的,有的是专门为图形元素设定的; ( 4 ) 原型可以更新:通过特定的映射机制,还可以将不同的s c h e m a 进行 转换,以实现更高层次的数据交换; 哈尔滨理丁大学工学硕士学位论文 ( 5 ) 命名空间的支持:可充分利用x m l 的继承性和重用性【l o ,1 1 1 。 2 4x m l 数据模型 w 3 c 专门为x m l 数据模型发布了 x q u e r y1 0 a n dx p a t h2 , 0d a t a m o d e l t l 2 】 ,在这个模型中一个x m l 文档被表示为一个文档顺序树。下面是一 个典型的表示出版物信息的x m l 文档片段。 b e i j i n gl i b r a r y 一 i n t r o d u t i o nt ox m l 18 8 k a i l yj o n e aq u e r y l a u g u a g ef o rx m l k a i l yj o n e a d e t u s c h 它可以被建模为一个有序的、边标记的树,这种树称为文档顺序树。如图 2 1 是上述文档片段的一个实例的数据模型,该模型称为树数据模型。文档顺 序树中有七种类型的结点,分别是文档结点、元素结点、属性结点、命名空间 结点、注释结点、处理指令结点和文本结点【1 2 1 。( 1 ) 文档结点:文档结点为树 的根结点,它只出现一次,x m l 文档的根元素是它的孩子,出现在文档的序 言中( 即根元素之前) 和根元素之后的处理指令及注释直接作为文档结点的孩 哈尔滨理t 大学工学硕士学位论文 子结点。( 2 ) 元素结点:一个元素结点对应文档中的一个元素,元素结点的孩 子可以是除了文档结点外的其它六种结点。( 3 ) 属性结点:属性结点表示了某 个元素结点的属性,它是对应元素结点的孩子。( 4 ) 命名空间结点:每个元素 结点可以有相关联的命名空间结点集,它是在x m l 文档中声明的在元素的范 围内有效的每个命名空间前缀,以及默认命名空间。元素结点是它的每一个命 名空间结点的父结点。命名空间的串值是命名空间前缀所绑定的命名空间 u r i 。( 5 ) 注释结点:除了在文档类型声明中出现的注释外,每条注释对应于 一个注释结点。注释结点的字串值是注释的内容,不包括起始的“ ”。( 6 ) 处理指令结点:除了文档类型声明中出现的处理指令外,每个 处理指令对应于一个处理指令结点。处理指令结点的字串值是处理指令的内 容,不包括起始的“ ,。( 7 ) 文本结点:文本结点由字符数据组 成。每个文本结点都包含有文本数据,且不会出现两个相邻的文本结点。文本 结点的串值是它对应的字符数据。 文档顺序是对文档中的所有结点定义的一个顺序,它对应于x m l 文档中 每个结点的开始标记的出现顺序,也就是说在文档顺序树中,某个元素结点肯 定出现在它的后裔结点之前,同样一个元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论