(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf_第1页
(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf_第2页
(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf_第3页
(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf_第4页
(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(通信与信息系统专业论文)基于xml的电子商务安全协议研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 本文主要对基于x m l 的电子商务安全协议进行了研究。首先介缁了x m i , 的基础知识和相关的技术标准,然后引入了电子商务、支付系统及安全保密技术。 接着在简要介绍两种基于信用卡的安全电子支付协议一s e t 协议和3 一ds e c u r e 协议的基础上,提出了一种3 ds e c u r e 协议的安全性加强方案。最后设计了一种 方便、安全、信用度高、风险小且极具应用价值的数字本票支付协议。 本文得到的主要成果如下: 1 对s e t 协议和3 一ds e c u r e 协议进行了全面的探讨、比较与分析,得到 3 一ds e c u r e 协议的不可否认性较弱的结论。 2 提出了一种3 - ds e c u r e 协议的安全性加强方案,用s v o 逻辑对方案进 行形式化分析,结果表明该方案可以达到认证目标。 3 提出了一种数字本票支付协议,用s v o 逻辑对协议进行形式化分析的 结果表明该协议可以达到安全目标,并设计了一个基于x m l 和j s p 的 实现方案。 关键词:x m l电子商务支付协议 s v o 逻辑 a b s t r a c t a b s t r a c t e c 0 1 t i i t i c r c es e c u r i t yp r o t o c o l sb a s e do nx m la r ed i s c u s s e di nt h ep a p e rb a s i c l “m w l e d g eo fx m l a n dr e l e v a n tt e c h n i c a ls t a n d a r d sa r ep r e s e n t e d ,t h e ni n t r o d u c e d e - c o m m e r c e ,p a y m e n ts y s t e ma n dc r y p t o l o g ys e tp r o t o c o la n d3 - ds e c u r ep r o t o c o l a r et w ok i n d so fs e c u r ee l e c t r o n i cp a y m e n tp r o t o c o lb a s e do nc r e d i tc a r dan e w s c h e m eo f3 - ds e c u r ep r o t o c o lw a s p r o p o s e db a s e d o nt h ec o m p a r i s o no f t h e m f i n a l l y an e wd i g i t a lc a s h i e r so r d e rp a y m e n tp r o t o c o li s p r e s e n t e d t h i sp r o t o c o l i sm u c h m o r ee f f i c i e n tt h a ns e t p r o t o c 0 1 t h em a i nc o n t e n t sa r e : 1s e t p r o t o c o la n d3 - ds e c u r ep r o t o c o la r ed i s c u s s e d ,c o m p a r e da n da n a l y z e d , a n dt h er e s u l t so b t a i n e dd e m o n s t r a t et h a t3 - ds e c u r ep r o t o c o li sw e a k e rt h a n s e t p r o t o c o li ns e c u r i t y 2 1 o s t r e n g t h e ns e c u r i t y ,an e ws c h e m eo f3 - ds e c u r ep r o t o c o lw a sg i v e na n d a n a l y z e du s i n gs v ol o g i c t h er e s u l t si n d i c a t et h a tt h en e w s c h e m ec a nr e a c h a u t h e n t i c a t i o nt a r g e t s 3 an e w d i g i t a lc a s h i e r so r d e rp a y m e n tp r o t o c o li sp r o p o s e d b y t h i sp r o t o c o l ,a c o n s u m e rc a nd op a y m e n tt oas p e c i f i e dm e r c h a n ta n o n y m o u s l nt h ed i g i t a l c a s h i e r so r d e rc a no n l yb eu s e do n c ea n dt h et r a n s a c t i o nc a n tb ed e n i e d t h e p r o t o c o li sa n a l y z e du s i n gs v ol o g i c ,a n dt h er e s u l t so b t a i n e dd e m o n s t r a t e t h a t t h i sp r o t o c o lc a r lr e a c hs e c u r i t yg o a l s f i n a l l y , as i m u l a t i o ns c h e m eb a s e do n x m la n dj s pi sp r e s e n t e d k e y w o r d s :x m l e - c o m m e r c e p a y m e n t p r o t o c o ls v o l o g i c 声明 y 6 9 5 4 3 3 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究j :作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:至胡蔓卜一日期垫五阻 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论 文在解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 本人签名 导师签名 王叠舞 锄 日期 2 碴至垦兰星 l 日期旦堕猢 第一章绪论 第一章绪论 1 1 在电子商务中应用x m l 电子商务是经济全球化和贸易自由化的重要手段,也是传统产业变革和企、l k 技术跨越的关键动力。电子商务自从出现以来,就以其巨大的能量和动力,给整 个世界的经济运行方式和社会生活形态带来了翻天覆地的变化。目前,电子商务 已经成为各国政府为增强国家竞争力并赢得市场资源配置优势而大力推进的战略 性任务。 从b 2 b 、b 2 c 到b 2 g ,从e d i 到x m l ,电子商务技术的变化比其他任何领 域都要迅速。当新科技不断冲击i n t e m e t 之际,新代的x m l ( e x t e n s i b l em a r k u p l a n g u a g e ,可扩展标记语言) 技术对电子商务产生了重大影响,革命性地改变了 以w e b 为基础的电子商务的应用形态。 x m l 提供了一种标记数据的标准语法,并允许使用者在消息中加入附加信 息,这样就可以将脚本和商业规则相联系,从而为电子商务应用提供各种完整的 解决方案和功能。x m l 的有利于数据传递和交换的特性可以在内容定义和信息交 换两个方面对电子商务起到重要作用,因此可以大大降低数据管理和交换的成本, 从而成为将文件和结构化数据一起移动和沟通的最佳机制。例如,企业的供应链 管理、客户服务支持、资源整合和物流管理等应用,通常会涉及到许多不同的处 理过程和步骤。产生的文件需要转发或通知给很多单位,而且各个文件的数据内 容和结构又不尽相同。这些工作h t m l 根本就不能胜任,而x m l 却可以提供包 括数据传递、数据采集、数据结构与数据呈现等功能在内的各种完整的解决方案, 大大简化了设计流程。与此同时,x m l 还可以让电子商务拥有更多的资源选择, 并能在消费者、供应商与合作伙伴之间维持更密切、更有效率的关系。 为了提高信息交换的效率,相关的公司、行业协会和国际标准化组织在借鉴 了e d i 标准的经验之后,相继推出了一些基于x m l 的电子商务标准。这些标准 的目标都是要通过互联网来实现企业间高效、可互操作的信息交换和信息处理。 目前,基于x m l 的电子商务标准和规范主要有b i z t a l k 、r o s e t t a n e t 、e b x m l 和 c n x m l 等。 b i z t a l k 是由微软公司倡导的标准,它是一种利用i n t e r n e t 标准协议和格式来 促进企业内部和企业间的应用以集成电子商务的x m l 框架,目前已经取得了包 括x m l s o l u t i o n s 在内的全球许多组织的支持。 r o s e t t a n e t 标准目前主要覆盖信息技术、电子元件和半导体制造行业。基于 基丁x m l 的电子商务安全协议研究 r o s e t t a n e t 的b 2 b 系统整合有助于加速供应链的协作,从而增强企、i k 的核心竞争 j 。该标准的实施成本比较低,性价比却相当高,因此取得了业界的j 、泛支持并 存全球范l 主i 内被多家企业采用。 e b x m l 是2 0 0 1 年由u n c e f a c t 和o a s i s 等国际组织共同建立的一套基于 x m i ,的全球电子商务信息交换框架,是一系列构成电子商务模型的技术规范的统 称。它通过这些技术规范来构建一个全球性的电子化市场,在这个市场内不分地 域和规模,各类企业都能够通过交换基于x m l 的电子业务信息来丌展彼此间的 业务。浚标准向全球贸易的各个参与方提供了一种可互操作的、安全稳定的电子 商务信息交换模式。 c n x m l 是2 0 0 0 年由中科院软件所电子商务技术研究中心提出的具有中国特 色的电子商务信息化规范。该标准是一套以国际x m l 标准为基础、可与国际其 它相关标准相互转换并符合我国商业流程习惯与传统的b 2 b 电子商务语法。 x m l 为人们带来了一个全新的视野,对整个电子商务架构在观念上进行了完 全的颠覆。电子商务的威力已经开始显现,在可预期的将来,全球经济也一定会 受到电子商务的强力震撼,而x m l 将在这场浪潮中发挥极为重要的作用。 1 2 论文章节安排 本文主要对基于x m l 的电子商务安全协议进行了研究。对两种基于信用卡 的安全电子支付协议s e t 协议和3 一ds e c u r e 协议进行了全面的比较和分析, 提出了一种3 - ds e c u r e 协议的安全性加强方案。还提出了一种数字本票支付协议, 用形式化方法对该协议进行了分析,并设计了一个基于x m l 和j s p 的实现方案。 本文的主要内容和章节安排如下: 第一章对x m l 在电子商务中的应用进行了简要介绍,指出了x m l 与电子商 务相结合的广阔前景。 第二章介绍了可扩展标记语言。叙述了x m l 技术的产生过程。对文档首部、 文档实例和处理指令这三个x m l 文档的组成部分进行了说明。然后引入d t d 、 模式、名域、x l i n k 、x s l 、d o m 和s a x 等相关技术和标准。最后在数据交换 和w e b 应用两个方面对x m l 的应用进行了阐述。 第三章介绍了电子商务和支付系统。论述了电子商务和电子支付的概念、特 点、分类和工具。然后说明了电子商务的安全性要求,并引入了电子商务采用的 主要安全技术及其标准规范。 第四章介绍了电子商务安全协议。在简要叙述了s e t 协议和3 一d s e c u r e 协议 之后,在采用的主要外部标准和安全目标两个方面对它们进行了比较与分析,得 出3 - ds e c u r e 协议的不可否认性较差的结论,提出了一种安全性加强方案并用 第。章绪论 s v o 逻辑对其进行j 证明。然厉又提出了 式化分析之后,阐述了该协议的效率优势 现方案。 种数字本票支付m 议,在划其进行形 并设计了一个艰十x m l 和j s p 的实 第二章可 ,展标记涪吉 第二章可扩展标记语言 2 1x m l 技术的产生 上个世纪的8 0 年代,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 ,标准通 用标记语言) 作为文档说明工具而被世人所知,并成为国际标准组织( i s o ) 的 项国际标准,即i s 0 8 8 7 9 。不过,由于s g m l 过于详细和复杂,所以一直没有 在全球范围内被广泛地采用。而从s g m l 衍生出来的h t m l ( h y p e r t e x t m a r k u p l a n g u a g e ,超文本标记语言) ,凭借其简洁性使得每个人都可能创建w e b 页面并 将它们推向外部世界,从而迅速成为在网上制作页面的标准语言格式。 但是,随着w e b 的应用越来越广泛和深入,人们渐渐发现h t m l 的不一致 和不可扩展等缺陷严重阻碍了它的进一步发展。尽管h t m l 推出了一个又一个新 版本,却始终满足不了不断增长的需求。1 9 9 6 年1 1 月,在波士顿s g m l 世界年 会上,i n t e r n e th o m e p a g e 的撰写标准h t 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 ,可扩展标记语 言) 。x m l 是一个更具弹性、更容易添加新功能而又具有统一标准的语言格式, 它的目标是以目前用h t m l 尚不可能的方法在w e b 上服务、接受和处理s g m l 。 与用来定义菜一类文件格式的h t m l 等传统标记语言不同,x m l 本身不是一个 单一的标记语言,而是一种元语言( m e t a - l a n g u a g e ) ,可以用来创造类别文件的格 式定义,也就是在x m l 之中创造出很多不同的新标记语言,用来定义不同的文 件类别。i l l 和h t m l 一样,x m l 也起源于s g m l ,并且可以说是s g m l 的一个缩略版。 由于s g m l 主要适合大型文档项目,难以移植到w e b ,所以w 3 c ( w o r l d w i d e w e b c o n s o r t i u m ,万维网联盟,一个国际标准组织) 在充分利用s g m l 的强大功能的 基础上,去除其复杂性,把很多在s g m l 底层非常复杂的语法隐藏起来,使整个 结构变得非常灵活又容易扩充,从而提出了简单好用的x m l ,并将其应用于w e b 。 因此,x m l 具有四个直接来源于s g m l 的关键特性:【2 0 】 可以将多个来源( 包括其他x m l 文档和二进制文件) 汇合进一个x m l 文档。 可以利用d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 或模式来管理 一致性问题,其中后者使数据输入和元素名冲突的处理更容易。 具有可扩展性,可以定义自己的元素和属性集并根据需要使用它们。 可以根据d t d 或模式验证文档的合法性。 基,:x m l 的电子商务安全协议研究 曾经取得巨大成功的h t m l 与继承了s g m l 的结构性、可扩展性及可校验 性等特点的x m l ,主要有以f 几个方面的区别: 。h t m l 描述文档的表示语义文档外观,不描述实际文档本身文档 内容及作者等:而x m l 却可以用来描述实际文档本身。 h t m l 格式单一同定,不允许用户自行定义他们自己的标识或属性:而 x m l 采用可以扩充的灵活格式,用户能够根据需要,自行定义新的标识及 属性名,以便更好地从语义上修饰数据。 h t m l 不支持深层次的结构描述;而x m l 的文件结构嵌套可以复杂到任 意程度,能表示面向对象的等级层次。 h t m l 没有提供规范文件以支持应用软件对h t m l 文件进行结构校验;而 x m l 文件可以包括一个语法描述,应用程序可以根据该语法描述来校验 x m l 文件的结构正确与否。 需要指出的是,h t m l 与x m l 之间并不是对立的关系,而是统一的关系。 各种浏览器都将能够处理这两种语言,而且h t m l 将来可能允许在同一文档中混 合使用h t m l 和x m l 。此外,x m l 也可以用于开发h t m l 文档。w 3 c 为h t m l 的x m l 风格创建了一系列d t d ,称为x h t m l 。人们还可以使用名为x s l t ( e x t e n s i b l es t y l e s h e e tl a n g u a g et r a n s f o r m a t i o n s ,可扩展样式表语言转换) 的转 换语言将x m l 文档转换成h t m l 。 2 2x m l 文档的组成部分 x m l 分析器读取两类x m l 文档:良构文档和有效文档。良构文档语法上正 确,满足x m l 规范描述的生成规则,但不一定符合某个d t e 。有效文档则已经 针对某个d t d 验证过了。 x m l 文档由两个或多个主文档实体组成:文档首部、文档实例以及可能拥有 的任何处理指令。文档首部就像一个引导记号,给处理器提供关于如何处理文档 主体( 即文档实例) 的指示。处理指令可任意出现在文档首部或文档实例中。它 们用于在x m l 分析器外给另一个处理应用发送指示。 x m l 文档的基本语法由w 3 c 创建的一个文档所定义的一组规则所规定。在 深入了解x m l 文档结构之前,先需要了解以下几条基本语法规则:恻 x m l 区分大小写,元素的起始标注必须正好匹配结束标注。 所有起始标注必须有结束标注,即所有x m l 文档都必须包含一个根元素, 这个根元素是包含了文档所有内容的最外层元素。 元素必须f 确的嵌套。文档中元素不是孤立的( 除非只有一个元素根 元素) ,所有元素都必须包含在以根元素开始的元素层次中。 第二章可扩展标记语吾 x m l 用_ 盘种预定义实体一& 】t ;”、“& 舀:”、“& a m p ;一、“& a p o s :和“& q u o l :” 来分别代替“ ”、“”、”和字符。 x m l 说明优先,即如果使用一个x m l 观明,它必须最先出现。 图2 21 是一个简单完整的x m l 文档,下面就以该文档为例对x m l 语法进 行进一步的晚明。 2 2 1 文档首部 所有的x m l 文档都以首部开始,即使首部中没有任何内容。文档首部由出 现次序固定的几个部分组成,下面按顺序列出: x m l 说明 文档示例的第一句 ? x m lv e r s i o n = “1 0 ”e n c o d i n g = “u t f 一8 ”s t a n d a l o n e = “y e s ” 就是该文档的x m l 说明,它是x m l 文档中最先出现的东西,由一个左尖括号、 后跟一个问号( 没有空格) 、再跟三个字符x m l 组成。该说明有三个组成部分: v e r s i o n = “1 o ”是版本说明,表示该文档遵循x m l l 0 规范; e n c o d i n g = “u t f 8 ”是编码说明,表示采用u t f _ 8 作为编码方式; s t a n d a l o n e = c y e s ”是独立说明,指出该文档在一个文件里完成,不需要从外 部导入文件。 各种语句 各种语句可能包括注释,它们是描述文档目的的记号。在图22 1 的文档示例 中, 就是注释。注释可以出现在首部或文档实例中, 总是以 ”字符结束。注释是调试代码的好方法,它不是为 兰一 圣! :兰翌! 塑堕塑堑窒竺塑:鎏! ! ! 塞 机器准嵛的,而是供人阅读的,因此分析器总是不理会k ! - - ,埽旷一中m 的切。 此外,注释不能嵌套在定义一个元素名的标注内,且注释中不能冉包含i t 秆。 文档类型浇明 文档类型说明( d o c u m e n tt y p ed e c l a r a t i o n ) 指出哪种文档类型定义( d o c u m e m t y p ed e f i n i t i o n ,即d t d ) 与该文档类型相关。如果d t d 完全嵌套在文档中,那 么它的说明语句也在该文档中,这叫做嵌套文档类型说明。如果链接d t d ,那么 晚明包括指示x m l 分析器到哪去寻找该d t d 的链接信息,这叫做链接文档类型 晓明。示例中的 就是个指定了相对 u r i ( u n i v e r s a lr e s o u r c ei d e n t i f i e r ,统一资源标识符) 的链接文档类型说明。 2 2 2 文档实例 文档实例是首部后的x m l 文档的主体部分。它包含x m l 文档的内容或数据, 这些数据遵循d t d 中所列的规则。文档实例可以分解成多个更小的成分或实体, 这些实体可迸一步分解,使得个别元素或一组元素也可被看成实体。下面就简要 介绍文档实例中的几个主要成分: 元素 元素由三个字符级成分组成,下面以 s h a d o wd i v e r s 这行代码为 例对这三个成分进行说明: 起始标注:以左尖括号“ 开始,后面必须跟个x m l 名。x m l 名必须 遵守以下生成规则:只能以下划线、字母或冒号开始,可以包含字母、数 字、句号、连字符、下划线、冒号、组合字符和扩展字符。示例代码行中 的“t i t l e ”就是x m l 名。 结束标注:以“ ”结束,它们的名字必须严格对应元素描述的 起始标注的名字。示例代码行中起始和结束标注中的名字都是“t i t l e ”。 元素内容:内容就是起始标注与结束标注之间的东西。在示例代码行中, “s h a d o wd i v e r s ”就是元素内容。当然,元素不一定非有内容不可,如果没 有内容,就称该元素为空元素。 由此可知,所有标记( 起始标注和结束标注) 和元素内容的组合就是元素, 即整个示例代码行 s h a d o wd i v e r s 代表一个元素。 文档实例是由根元素组成的,其他每个元素必须包含在根元素内。在图2 2 ,1 的文档示例中,b o o k s 是根元素,b o o k 是根元素b o o k s 的子元素,而a u t h o r 、t i t l e 和p r i c e 又是b o o k 的子元素。只要遵循正确的层次顺序,就可以直往文档实例 中添加元素,使它们嵌套起来,从而形成整个元素树。 属性 第一章埘扩展标记涪肓 ,l 素的属性内嵌于元素的开始标签罩。属性有点像修饰语,用来描述元素的 某些性质。它们由属性值对组成j 菌性名,后跟个等号,然后是属性值。j 禹 陛必须有值,而且必须括在引号中。不论使用单引号还是双引号,每个埔性值的 尾端应一致。在图2 21 的文档示例中,b o o k 元素包含c a t e g o r y 和d u b l i s h e d 两个 属性,但前后两个b o o k 元素的c a t e g o r y 和p u b l i s h e d 属性的属性值并不相同,分 别为r e f e r e n c e 、f i c t i o n 和0 i 0 4 2 0 0 4 、2 9 0 6 2 0 0 4 。 c d a t a 段 c d a t a 段是非常实用的小标记单元,程序员在对付与x m l 规则冲突的算符 时经常使用它。c d a t a 段只包含字符数据,而不管数据的内容是什么。数据中可 以包含“ ”和“”文字值。这意味着,如果在c d a t a 段中使用它们,就无需转义 它们。c d a t a 段的基本语法是: 。只要存在个字符可能被 处理器解释成x m l 标记的危险,就有必要使用c d a t a 段。 2 2 3 处理指令 处理指令可以出现在首部或文档实例中,由如下成分严格按照它们在下面出 现的顺序组成: 串“ ? ”。 处理指令目标的名称,可以是除大写或小写x m l 串以外的任何x m l 名。 - 可有可无的空格字符。 任何其他可有可无的字符。 需要注意的是,x m l 说明不是处理指令,处理指令是形如样式表处理器 这样的代码。使用处理指令的理 由很多,大多数都与延伸x m l 分析器的处理范围有关,而分析器可以控制正在 使用的x m l 文档。除了把指令传递给其他处理器外,x m l 处理器本身不对指令 进行任何处理。 2 3x m l 的相关技术和标准 x m l 不是一项独立的技术,它包含了很多其他相关技术和标准,例如d t d 、 x m l 模式( s c h e m a ) 、名域( n a m e s p a c e ) 、x l i n k ,、x p a t h 、x p o i n t e r 、x h t m l 、 x s l 、c s s 、d o m 、s a x 和s o a p 等。下面对其中几项关键技术进行简要介绍。 基丁x m l 的电子商务安全协议研究 23 1d t d 和模式 x m l 提供两种控制文档内容的机制, 种是d t d ( d o c u m e n t r y d ed e i n i t i o n , 文档类型定义) ,另一种是x m l 模式( s c h e m a ) 。 d t d 定义文档的语法,而文档的语法反过来能够让x m l 语法分析程序确认 某个文档标记使用的合法性。d t d 可以定义文档的元素、元素的属性以及元素和 属性之间的关系。例如,d t d 能够规定何时及如何使用某元素,该元素表示什么 以及如何在软件中处理该元素。 d t d 分为内部和外部两种。内部d t d 被包含在x m l 主文档之中,而外部 d t d 则是从x m l 主文档中分离出来的一个单独的文件。图2 3 1 是图2 21 中x m l 文档示例的外部d t d 。 属性声明 实体声明 ! e n t i t y a t i d 虎l “c d a t a # r e q u i r e d 元素声明 实体引用 图2 3 1d t d 不例( b o o k s d t d ) 目前,在几乎所有的行业和领域中,d t d 都已存在。开发者常常不需要建立 他们自己的d t d ,但如果未发现适合自己的已存在的d t d ,也可以选择使用现 有的d t d 的一部分并以它为基础进行开发。 由于d t d 存在结构封闭、不支持名域、没有数据类型和不是x m l 文档等若 干缺陷,w 3 c 后来开发了x m l 模式( s c h e m a ) 。通过提供对结构和内容的约束, x m l 模式定义一类x m l 文档。使用模式指出文档中允许哪些元素、它们可能有 哪些属性阻及它们可能包含什么。 x m l 模式是一个x m l 文档,可以使用x m l 工具创建并编辑它。当实际使 用模式并将它应用于一个良构x m l 文档,就会产生一个扩充文档,该过程称为 模式检验。模式处理程序将显示这个文档是否符合该模式,即文档是否有效。模 式检验比d t d 检验走的更远,因为模式可以比d t d 对文档强加更多约束( 例如 指定元素的文本内容) 。因此,x m l 模式虽然类似于d t d ,却比d t d 功能更强。 第二章可扩展标记语言 x m l 名域( n a m e s p a c e ) 是一利”限定”一组兀素和属性的方法。它是在一个 文档中混合来自多个d t d 的元素或多组名字并声明哪些l 素和属性来自哪组名 字的一条途径。使用x m l 名域的主要原因有三个:混合词汇、混合文档片断以 及确定保留名。使用名域说明将一个u r i 引用与一个或多个x m l 元素联系在一 起,作为一个前缀将它们相互区分开。如果两个元素同名但u r i 前缀不同,那么 它们就是不同的元素,从而避免了名称冲突,扩大了应用范围。 x m ls m n p l e 2 1 0 l 一8 6 8 6 4 0 3 4 2 j o e b l a c k p r o f e s s o r ( | b k :b o o k 图2 3 2 名域示例 从图2 3 2 中可以看出,“t i t l e ”虽然出现了两次,但由于使用了“b k ”和“a u t h r ” 两个不同的前缀,从而很容易地被区分开来。 2 3 3x l i n k x l i n k ( x m ll i n k i n gl a n g u a g e ,x m l 链接语言) 可以在x m l 中创建从某 个资源到其他资源的超文本链接。使用x l i n k 创建链接时,其实是指定了两个或 更多资源,然后连接它们。连接叫做弧,并有一个方向。x l i n k 表示资源之间或 资源各部分之间的一种关系,而资源可以是赋予u r i 的任何东西。x l i n k 的功能 十分强大,与h t m l 和x h t m l 相比,它可以多向链接、注解链接、与不止两个 端点链接并能够使用外部链接集。下面是一个x m l 简单链接的例子: t h i sw o r k s t o o 丝丁x m l 的电子商务安全协议研究 x j 。i n k 规范引用另外曲个重要规范x p a t h ( x m lp a t hl a n g u a 2 e ,x m l 路径语 高) 和x p o i n t e r ( x m lp o i n t e rl a n g u a g e ,x m l 指针语言) 。x p a t h 用于表达从 x m l 文档中一点到另一点的路径,“r e c i p e b o o k p a r t 3 】r e c i p e 【3 是一个x p a l h 表达式,意思是要跟踪陔链接,应从文档顶层开始,找到r e c i p e b 【,o k 元素,然后 在该元素内找到第三个p a r t 元素,抵达此处后再寻找第三个r e c i d e 元素。x p o i n t e r 是x l i n k 用来结合x p a t h 的机制,x p o i n t e r 表达式总是写成x p o i n t e r ( ) ,括 号内是x p a t h 表达式。与x l i l l l ( 一道使用x p a t h ,可以构造个指向文档内特定 点的链接。 2 3 4x s l 目前,存在两种显示x m l 文档的方法,一种是c s s ( c a s c a d i n gs t y l es h e e t , 层叠样式表) ,另种就是下面主要讨论的x s l ( e x t e n s i b l es t y l e s h e e tl a n l g u a g e , 可扩展样式表语言) 。 x s l 是一种专门为x m l 设计的样式语言,它直接架构在x m l 语法之上, 是x m l 的一种应用。x s l 由两个标准组成,一个是x s l t ( e x t e n s i b l e s t y t e s h e e t l a n g u a g et r a n s f o r m a t i o n s ,可扩展样式表语言转换) ,另一个是x s l f o ( e x t e n s i b l e s t y l el a n g u a g ef o r m a t i n go b j e c t s ,可扩展样式语言格式化对象) 。x s l t 是一种将 x m l 文档转换成各种格式( 如x m l 、h t m l 、p d f 及s g m l 等) 的新文档的标 记语言,人们可以用它按照自己的意愿处理一个x m l 文档。x s l f o 则是描述 x s l 格式化对象的x m l 词汇,它提供大量的格式化命令,用来说明新文档以何 种方式显示给读者。 图2 3 3x s l 的工作流程 利用x s l ,个x m l 文档可以根据不同的表示要求有不同的表示形式。图 2 33 表示了x s l 的工作流程,该流程概括起来说就是:x s l 处理器读取一个x m l 文档和一个x s l 样式表,输出符合样式表的x m l 文档的表示形式。整个过程可 第二章呵扩展标记语言 以分为两个子过程:树转换( t r e e t r a n s f o r m a t i o n ) 和格式化( f o r e l a l t i n g ) 。 树转换将源树转换成结果树。其中源树指的是转换前的x m l 文档,结果树 指的是处理器产生的新文档,该新文档可能是另一个x m l 文件、一个h t m l 文 件甚至一个简单的文本文件。用x s l t 表示的转换包含一组模板规则。一个模板 规则分为两部分:第一部分是模式( p a t t e r n ) ,指定模板规则所适用的x m l 源文 档树形结构;第二部分是模板( t e m p l a t e ) ,用来在与此模式匹配时,将结果树的 一部分进行输出。x s l t 用x p a t h 语言来选择源树中要进行处理的节点,指定处 理该节点的不同方式的条件,并产生插入到结果树中的文本。 格式化将结果树变为可读的形式。而x s l f o 元素的主要作用就是页面管理、 流动管理( 内容如何“注入”已创建的一系列页面) 和段落字符管理。x s l f o 说 明了结果树的显示方式,该显示方式是按照格式化对象( b r m a t t i n go b j e c t ) 和格 式化属性( f o r m a t t i n g p r o p e r t y ) 来描述的。x s l f o 文档中的各种格式化对象指明 内容在页面中的放置顺序,但格式化的细节如页面的大小、元素的尺寸、颜色、 字体等必须由格式化属性来说明。格式化属性是以格式化对象的属性形式出现, 格式化对象元素可以包含各种属性,w 3 c 总共定义了两百多个属性,多数属性都 可以应用于一个以上的格式化对象元素。 使转换与格式化相分离的好处是,能够通过选择一个目标x s l 处理器理解的 名域,来选择按何种方式格式化试图显示的新文档。最后,需要明确的是,x s l 不仅仅是应用样式,当使用x s l 处理器时,x m l 源文档中的信息将被评价、重 新安排,然后重新组装。所以人们最终得到的是可以容易地添加、修改和重新排 序的灵活的源信息。 2 3 5 d o m 和s a x 通过程序访问x m l 文档,可以使用两种方法,一种是d o m ( d o c u m e n t0 b j e c t m o d e l ,文档类型模型) ,另一种是s a x ( s i m p l e a p if o r x m l ,x m l 简单a p i ) 。 d o m 是一个对象化的、与平台和语言无关的应用程序接口( a p i ) ,程序和 脚本可以利用此接口访问和更新h t m l 、x h t m l 和x m l 文档。d o m 定义一组 对象类型及其性质,并提供操作由这些对象构成的树的方法。也就是说,d o m 可以按照要求的方式处理文档信息,使应用程序或编程语言通过节点树来访问文 档的内容。利用d o m ,程序开发人员可以完成动态地创建文档,遍历文档结构, 增加、删除或修改文档内容,以及改变文档的显示方式等操作。 s a x 的接口风格完全不同于d o m 。d o m 是基于树的方法,而s a x 却是基 于事件的模型。也就是说,如果用一个基于s a x 的分析器去分析一个x m l 文档, 该分析器将在遇到文档的各部分及其值时生成事件。对这些事件的分析通常足以 基于x m l 的电子商务安全协议埘究 达到应用程序搜索x m i 。文档,寻找所需值或作为适配器取出x m l 文档的内容并 使其与数掘库n 录一致的目标。 开发者可以遵循以卜l 建议在二者之间进行选择:当只需遍历文档次、只查 找很少的几项、不太关心所查找元素的上下文结构、不需占用:托多内行刚,晶好 用s a x a 当需要多次遍历文档、耍对很多元素或属性进行操作、文档的结构和元 素的上下文关系非常重要、占用内存多少无所谓时,最好用d o m 。 2 4 x m l 的应用 从发布之日起至今的短短几年中,x m l 技术取得了巨大进展。作为s g m l 的一个子集,x m l 在s g m l 的应用领域中依然有它的用武之地。除此之外,x m l 在其他很多方面也有着重要用途,其中包括数据交换和w e b 应用。【2 7 】 2 4 1 数据交换 由于良好的可扩展性和文档中的元数据,x m l 使不同计算机应用系统之间的 数据交换变得容易起来。特别地,x m l 在下列领域有着重要应用: 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 ,电子数据交换) e d i 被用来在异构系统间进行数据交换而支持事务处理。使用x m l ,程序能 够理解在交换数据中所表示的商务数据及概念,根据明确的商务规则来进行数据 处理并给出适当的响应。所以,x m l 能够和现有的e d i 系统相结合,并扩展现 有的e d i 应用,给电子商务带来新的机遇和活力。 a g e n t ( 智能体) 构造一个a g e n t 所面临的一个挑战是如何理解接收到的数据。倘若送到a g e n t 的是x l v i l 结构的数据,a g e n t 就能很容易地理解这些数据的含义及这些数据与它 已有知识的关系。所以,x m l 必将促进a g e n t 及移动a g e n t 技术的发展。 软件设计元素的交换 x m l 也可以用来描述软件设计中的设计元素,如对象模型,甚至是最终设计 出来的软件。这些基于x m l 的设计元素可以借助w e b 在开发组内进行交换,或 者在不同的开发工具之间交换。另外,x m l 及相关技术使得软件的分发与更新在 w e b 上更容易实现。 2 4 2 w e b 应用 x m l 文档无疑将成为w e b 资源的重要组成部分,并将会使w e b 搜索引擎的 第二章可扩展标i o i ii 智能化变得容易起来。除此之外,x m l 能够用米建立h t m l 所不能达到的多层 w e b 应用。特别地,x m l 在w e b 应用中有着下列重要用途: 集成不同数据源 x m l 的特性使得它能用来描述包含在不同应用中的数据,从w e b 页而到数 据库中的记录,w e b 应用的中间层服务程序可以容易地将这些用x m l 表示的数 据组合起来,直接传送给客户或提交给其他服务程序进步处理。 本地计算 基于x m l 的数据被传送给客户后,客户端应用可以刈这些数据进行解析和 操纵,来完成应用系统所需的功能。这些本地计算不需要与服务器的额外通信。 这种对本地计算的支持有利于在服务器和客户之间合理分配计算的比例。 数据的多种显示 x m l 与h t m l 具有互补性,h t m l 描述数据的外观,而x m l 描述数据本 身。上节中讨论的c s s 和x s l 提供了描述数据显示所需的语言机制,通过这两 种途径,用x m l 定义的数据就能以不同的外观显示。所以,一旦x m l 数据到达 客户端,它们的显示方式就可以由客户配置动态地确定。 支持w e b 应用的互操作和集成 - 作为x m l 的早期应用之一,w i d l ( w e b i n t e r f a c ed e f i n i t i o nl a n g u a g e ,w e b 接口定义语言) 是仅由一个d t d 构成的x m l 应用程序,它实现一种在w w w 上集成数据和应用程序的基于服务的体系结构。通过使用由w i d l 定义的接口, w e b 应用之间可以自动存取w e b 资源及企业应用。 第二章l u f 商务和支付系统 第三章电子商务和支付系统 3 1 电子商务介绍 自从a r p a n e t 诞生之后,计算机网络在2 0 世纪7 0 年代得到了迅速的发展, 很多企业开始依靠电子数据交换( e l e c t r o n i cd a t ai n t e r c h a n g e

温馨提示

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

评论

0/150

提交评论