




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)xml及其在电子商务中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文 摘要 电子商务是一种在互联网上利用互联网技术进行商务活动的形式。近年来, 随着互联网技术的发展得以迅速地发展起来。目前,如何利用最新的互联网编 程技术,生成高效可靠的电子商务方案,业已成为了计算机行业中的热点问题。 可扩展标置语言x m l ,由于其内容与形式的分离及良好的可扩展性,在电子商 务应用中的优势越来越明显。而且随着x m l i 0 规范的制定,浏览器对x m l 支持的增强,基于x m l 的应用取得了长足的进展,可以说,基于x m l 的电子 商务已经基本准备就绪。与传统意义上的电子商务相比,基于x m l 的电子商 务在数据保存、界面交互及有效性验证等方面,具有明显的优势。 本论文首先讨论了传统b s 结构系统应用中的不足,随后介绍了x m l 和 a s p n e t 、a d o n e t 技术,最后结合x m l 和a s p n e t 技术,将其应用于一 网上计算机书店系统,对其作了系统分析和探讨,并实现了其中部分主要功能。 论文中采用关系型数据库作为后台数据库,以x m l 作为中间层,实现一 网上计算机书店的目录、顾客购物车和付款台的制作。本论文侧重于x m l 的 应用。着重讲述了应用x m l 数据岛,实现数据与w e b 控件绑定问题及其优点。 同时,充分使用关系型数据库的安全性和x m l 的灵活性,使搜索变得更简单 和动态化。此外,在论文中,还应用了s c h e m a 技术,对客户输入的注册数据进 行验证,避免了不必要的网络数据传输。 论文所使用的分析及设计过程,具有一定的普遍性,可以应用到其它基于 w e b 的电子商务应用程序的开发中。 关键词:x m l ;h t m l ;a s p n e t ;a d o n e t ;电子商务 西南交通大学硕士研究生学位论文 a b s t r a c t t h ee l e c t r o n i cc o m m e r c e ( e c o m m e r c e ) i sak i n do fb u s i n e s sa c t i v i t y f o r mo ni n t e r n e tb yu s i n gi n t e r n e tt e c h n i q u e i nr e c e n ty e a r s ,i th a s q u i c k l yd e v e l o p e da l o n g w i t ht h ed e v e l o p m e n to fi n t e r n e tt e c h n i q u e h o w t om a k et h ee f f i c i e n ta n dc r e d i b l ee l e c t r o n i cc o m m e r c ep r o j e c tb ym a k i n g u s eo ft h eu p t o 。d a t ei n t e r n e tp r o g r a m m i n gt e c h n i q u eh a sb e c o m et h eh o t p o i n t i s s u ew i t h i nc o m p u t e rf i e l d x m li s b e c o m i n g m o r ea n dm o r e i m p o r t a n ti nt h ea p p l i c a t i o n so fe - c o m m e r c eb e c a u s eo fi t se x p a n s i b i l i t y a n dt h es e p a r a t i o nb e t w e e ni t sc o n t e n t sa n df o r m s w i t ht h ee s t a b l i s h m e n t o ft h es t a n d a r do fx m l1 0a n dt h es u p p o r to ft h eb r o w s e rt o l 乙t h e a p p l i c a t i o n sb a s e do nx m la r eb o o m i n g s o ,i ti sc l e a rt h a te c o m m e r c e i so nt h ew a y c o m p a r e dw i t ht r a d i t i o n a le - c o m m e r c e ,e - c o m m e r c eb a s e d o nx m lh a so u t s t a n d i n ga d v a n t a g e si ns a v i n gd a t aa n di n t e r c o m m u n i c a t i n g i n t e r f a c ea n dv a l i d a t i o n f i r s t l y ,t h i sd i s s e r t a t i o nd i s c u s s e st h es h o r t a g eo ft r a d i t i o n a lb s s y s t e m ,a n da tt h es a m et i m e ,p o i n t so u tt h ea d v a n t a g eo fx m lt e c h n i q u e s e c o n d l y 。t h i st h e s i s i n t r o d u c e ss u c ht e c h n i q u e sa sx m l , a s e n e ta n d a d o n e t 弛a l l y t h et h e s i sd e s i g n saw e bc o m p u t e rb o o ks t o r es y s t e mb y u s eo ft h ec o m b i n a t i o no fx m la n da s p n e tt e c h n i q u e s ,c o m p l e t e ss y s t e m a n a l y s i s ,a n di m p l e m e n t sp a r t so fm a i nf u n c t i o n s t h et h e s i su t i l i z e sr e l a t i o n a l d a t a b a s e s y s t e m ( r d b s ) a s t h e b a c k g r o u n dd a t a b a s e ,x m la st h em i d d l el a y e rt or e a l i z et h ec a t a l o g , c u s t o m e r s h o p p i n g c a r t a n dp a y m e n to faw e bb o o ks t o r e t h et h e s i s e m p h a s i z e sp a r t i c u l a r l yo nt h ea p p l i c a t i o no fx m l ,a n dd i s c u s s e st h e a d v a n t a g eo ft h ec o m b i n a t i o no fd a t aa n dw e bc o n t r o lb yu s i n gt h ex m l d a t a i s l a n d t h i sd i s s e r t a t i o nt h i n k st h a ti tc a nm a k et h es e a r c he a s y a n df l e x i b l eb yu s i n gt h es e c u r i t yo fr d b sa n d a g i i i t yo f x m l i na d d i t i o n , s c h e m at e c h n i q u ew a su s e dt ov a l i d a t et h e r e g i s t e r e dd a t a ,w h i c hc a n 亘壹奎望盔堂塑主堑塞生兰垡堡塞 a v o i dt h eu n n e c e s s a r yd a t at r a n s m i s s i o ni n i n t e r n e t t h ea n a l y s i sa n dd e s i g np r o c e s s e di nt h et h e s i sh a v ec e r t a i ne x t e n t c a t h o l i c n e s s ,a n dc a nb eu s e di n o t h e rw e ba p p l i c a t i o nd e v e l o p m e n t k e y w o r d :x m l ,h t m l ,a s p n e t ,a d o n e t ,e - c o m m e r c e 砥南交通大学硕士研究生学位论文第1 页 1 1 电子商务概况 第1 章绪论 本章将简要介绍电子商务的有关概念,讨论了传统b s 结构应用系统的不 足,指明了建立基于x m l 电子商务的优越性。 1 1 1 电子商务的概念 电子商务是指利用任何信息和通讯技术进行任何形式的商务或管理运作或 进行信息交换。通常所指的电子商务是指两方或多方通过计算机和某种形式的 计算机网络( 直接连接的网络或i n t e r a c t 等等) 进行商务活动的过程。 这种商务活动的过程包括企业和企业之间的商务活动、网上的零售业和金 融企业的数字化处理过程。电子商务甚至包括商业活动中的所有内容,从广告 发布到打印发票和客户服务等。 电子商务概念实际上包含了两个概念,即:“网上购物”和b 2 b 企业级电子 商务。 “网上购物”通过w e b 技术将产品、服务和信息销售给顾客。 企业之间( b u s i n e s st ob u s i n e s s ) 电子商务一般简称为b 2 b 的电子商务过 程,主要是进行企业间的产品批发业务,因此也称为批发电子商务。传统上, 基于e d i 技术的b 2 b 电子商务由于其巨额的开销,成为大的企业、大的银行以 及大的合作伙伴之间的专利。但目前基于i n t e r n e t 的e d i 技术的出现和各 种网络支付手段的建立和完善使得中小型企业进入这一领域成为现实。 1 1 2 为什么要开展电子商务 开展电子商务明显具有以下几点优点:永不关门、突破地域限制、成本低 廉、迅速方便、检索方便。 当然电子商务也有缺点,比如技术含量高,传统库存与网上库存很难同步 等。 电子商务的运作除技术本身外,还与商业市场环境有巨大的关系,例如客 户对网络商店的认可程度、网络的普及程度、信用卡的使用和安全程度、货物 投递的快速可靠程度、以及对网络邮购的相信程度都直接影响着电子商务的发 展。 堕堕奎望盔堂塑主堑塞生堂垡鲨皇 整! 垂 在北美和欧洲市场,电子商务经过几年的发展,网上商店已经被广大网络 用户所认可。而在我国大陆,这一方面还有待普及。不过越来越多的企业开始 运用电子商务解决企业业务中的实际问题,提升企业的管理水平,以求更大地 降低成本,更快地捕捉市场,进而建立长期、可持续盈利的、面向客户的商务 模式。 1 2传统b s 结构应用系统中的不足 1 2 1 客户端数据提交问题 传统b s 结构的应用程序,在w e b 页面中每增加一条记录都得与服务器 交互一次,这种提交方式的灵活性较差,这种交互方式一般要求进行数据操作 时始终在线,这就给具体的应用带来障碍。比如一些野外作业应用系统或者一 些连锁店系统可能没有条件做到始终在线,因为这会提高系统的使用成本。 1 2 2 数据更新问题 传统b s 结构应用系统中,更新客户端的数据,服务器要重新传送整个 w e b 页面的数据以刷新客户端页面。比如当用户输入登录信息并提交后,虽然 提交的数据可能只是用户名和密码,但是为了维护当前w e b 页面的状态,服 务器得重新传送整个w e b 页,这种作法具有以下几个缺点: ( 1 ) 加重了服务器的负担; ( 2 ) 增加了网络流量; ( 3 ) 增加了开发的复杂性; ( 4 ) 由于客户端与服务器交互过程中无用数据可能会大大超过有用数据,从而 影响到系统的维护及测试; ( 5 ) 客户端w e b 页面每发送一次数据都会因页面刷新而有明显的迟延、闪烁 感,降低了系统的友好性。 因此在基于b s 结构应用系统应该像其它类型的多层结构系统( 如用 d e l p h i 开发的多层应用系统) 一样,客户端与服务器之间的通讯数据应尽可能 只包括有效的数据。 1 2 3 客户端界面交互问题 客户端界面交互这里指的是不与数据库打交道的一些操作,这些操作的特 点是可以动态地改变输出结果( 包括打印机的输出结果) ,而且改变的结果应马 上显示出来,不应具有明显的停滞感。由于这种交互与数据库无关,只涉及界 西南交通大学硕士研究生学位论文第3 页 面动态改变问题,并且要求反应迅速,因此没有必要也不能与服务器通讯。 虽然d h t m l 技术在不使用x m l 的条件下也可以实现许多客户端界面的 交互问题,但是对于复杂数据的显示,比如数据客户端的数据绑定,报表分页 显示等问题却有点力不从心。 1 2 4 客户端数据保存问题 对于一个应用系统,客户端一般具有保存数据的功能,特别对于多层结构 的应用系统,由于网络传输问题( 也可能是其它需求) ,客户端数据可能会经常 性地保存在本地硬盘中,在需要的时候或者有条件的时候,才把数据提交到服 务器保存至数据库。而传统的b s 结构不具有这种存盘的功能,它所具有的存 盘功能仅限于保存原始的w e b 页面,而用户输入数据的保存功能很差,即使 保存了用户输入的数据,用户也很难把这些数据单独提取出来。 在客户端具有按指定格式保存数据的能力,这样便于在网络不通时可以把 填写的数据保存在客户机磁盘上,在网络连通时再提交数据,或者直接把存放 数据的移动存储器人工送至服务器端加载保存到数据库中。 1 2 5 客户端数据有效性验证问题 判断用户输入数据是否满足一定的要求( 如数据类型、长度、格式等) ,即 有效性验证是应用系统的基本要求。在w e b 页面中涉及有效验证的输入界面 主要是文本输入框( 例如,由语句 创建的w e b 控 件) ,但是w e b 页面中的文本输入框本身对数据的输入是不进行判断的。所以 需要一种方法对文本框中的数据进行有效性检验。 1 3 解决方案比较 1 3 1 客户端数据提交问题解决方案比较 要解决客户端数据提交问题,常用的方法基本上有以下几种: ( 1 ) 利用可变长度的二维数组,每次增加、删除和修改数据时该二维数组进行 相应的操作; ( 2 ) 用字符串变量保存客户端的数据: ( 3 ) 定义x m l 数据集对象,并把该数据集对象与指定的界面控件进行数据绑 定。 这几种作法都可以实现批量提交数据的功能,但是第、二两种方法具有 西南交通大学硕士研究生学位论文第4 页 明显的两个缺点: 不能与界面控件进行数据绑定,即控件中对数据的修改不能自动更新到 二维数据组中,同样二维数组中数据的更新不能自动在界面控件中反映出来, 这就大大增加了开发的复杂性; 很难描述复杂的数据结构( 如主从表) 。 而x m l 数据集对象在客户端浏览器中就像是一个存在于内存中的微型数 据库,它不但可以表示关系数据库的表结构,存储数据,而且还可能表示表之 间的关系,并可以方便地与客户端界面中的控件进行数据绑定。因此第三种方 法具有明显的优点。 1 3 2 数据更新问题解决方案比较 为了实现客户端与服务器之间的传递数据尽可能只包含有效数据,而不是 整个w e b 页面,这在以前很难做到。虽然通过开发低层的数据通讯控件,然 后嵌入到w e b 页面的方法可以实现上述要求,但是在w e b 页面加入其它语言 生成的控件( 非w e b 控件) 的方法,由于安全性及速度问题目前一般不采用。 现在主流浏览器( 如i e 浏览器) 本身就可以创建与x m l 相关的通讯对象,可 以很好地用于客户端与服务器之间的x m l 数据通讯,具有作法如下: ( 1 ) 创建一个x m l h t t p 对象实例,使用o p e n 方法完成初始化; ( 2 ) 调用x m l h t r p 对象的s e n d 方法向服务器发送x m l 数据包; ( 3 ) 使用x m l h t t p 的r e s p o n s e x m l 、r e s p o n s e t e x t 、r e s p o n s e b o d y 或 r e s p o n s e s t r e a m 属性接收w e b 服务器的响应并对其进行处理和显示。 实现以上步骤的j a v a s c r i p t 的关键代码如下: f u n c t i o ns a v e x m l t o d b a t s e r v e r ( o b j x m l d s o ,s r e s p o n s e a s p n a m e ) o b j x m l d s o 为x m l 数据集对象; s r e s p o n s e a s p n a m e 为服务器端接收请求的a s p 文件名。 v a rx m l h a p = n e w a c t i v e x o b j e c t ( ”m i c r o s o f t x m l h t r p ”1 ; x m l h t t p o p e n ( ”p o s t ,s r e s p o n s e a s p n a m e ,t r u e ) ; x m l h t t p s e n d ( o b j x m l d s o x m l ) ; x m l h t t p o n r e a d y s t a t e c h a n g e = d i s p l a y ; f u n c t i o nd i s p l a y 0 i f ( x m l h t t p ,r e a d y s t a t e = = ”c o m p l e t e ”) i f ( x m l h t t p r e s p o n s e x m l x m l ! = ”) w i n d o w a l e r t ( x m l h t t p r e s p o n s e x m l x m l ) ; 西南交通大学硕士研究生学位论文第5 页 e l s e w i n d o w a l e r t ( ”服务器返回空包! 1 1 ) ; e l s e w i n d o w a l e r t ( x m l h t t p r e a d y s t a t e ) ; 从这些代码可以看出,客户端发送和接收数据都是由x m l h t t p 对象来负 责执行,而不是由w e b 页面,x m l h i t p 对象发送的数据只是一个x m l 数据 包,接收的数据也只是一个x m l 数据包,当x m l h t t p 接收到服务器端的x m l 数据包后,可以结合d h t m l 技术把该包中的数据动态地嵌入到w e b 页面指 定的位置显示,也可以把该数据包更新到已有的数据集对象( d o m 对象) 中, 而不需要更新整个w e b 页面。这种数据通讯过程如图1 - 1 所示。 图1 - 1x m l 数据交互过程 而且传统w e b 页面中要提交的数据都必须存放在标签对 定义的控件中,这对页面的设计带来了很大不便,因为在页面设计时不但要严 格地确定哪些控件中的数据需要提交,而且要把这些控件集中到个f o r m 标签 对里,而在实际开发过程中往往很难满足这个要求。 现在b s 结构应用系统中引入x m l 就可以很好地解决这个问题。 1 3 3 客户端界面交互问题解决方案 目前解决客户端界面交互问题,可以采用d h t m l 技术与x m l 结合的方 法,d h t m l 脚本语言在客户端执行,与服务器无关,这就解决了客户端的界 面交互不与服务器通讯的问题。而x m l 可以定义复杂的数据结构,d h t m l 技术使用脚本语言可以很好地操作这些数据结构,以实现具有复杂功能的界面, 并且由于x m l 可以文件的形式保存在硬盘上,因此就可以保存页面设置,以 便下次打开页面时恢复上次保存的界面状态,这一点对于实现w e b 页面的套 打非常重要。 1 3 4 客户端数据保存问题解决方案比较 要在客户端保存数据可以有以下几种解决方案( 不考虑使用非w e b 控件) : 西南交通大学硕士研究生学位论文 第6 页 ( 1 ) 在客户端安装个人版的w e b 服务器( 如w i n d o w 9 x 中的p w s 个人w e b 服务器) 。 ( 2 ) 在w e b 页面中使用自己开发的a c t i v e x 控件来保存数据。 ( 3 ) 使用m 浏览器内置的保存x m l 数据的功能。 第一种方法的优点是可以定义保存的路径,这样可以把数据保存到移动磁 盘中。但存在明显的缺点,即:要安装相应的软件。第二种方法也具有第一种 方法的优点,并且不需要安装w e b 服务器,但是它可能会引发安全问题。第 三种方法不需要安装相应的软件,但是不能指定保存路径。因此应根据具体情 况采用相应的办法。 1 3 5 客户端数据有效性验证问题解决方案比较 为了解决用户输入数据的有效性,可以采用以下三种方法: ( 1 ) 客户端编程的方法:即在文本框获得输入后,用客户端程序对该输入进行 有效判断。但是这种方法工作量比较大,因为它必须对各种数据类型进行判断。 而且要把相应的方法与指定的文本框关联起来。 ( 2 ) 服务器端自动验证:如使用a s p n e t 开发程序时,可以为服务器端控件指 定数据格式,当客户端的数据提交到服务器端后,服务器会对这些控件中的数 据自动进行验证。 这种方法虽然简单,但这种数据验证是在服务器端执行的,也就是浏览器 本身不会对用户输入进行有效性判断。 ( 3 ) 利用x m l 自身特性:把x m l 数据集对象与指定的文本框进行数据绑定。 如果该x m l 数据集对象相对应的x m l 文件有相应的s c h e m a 文件,浏览器就 会自动对用户的输入进行验证,如果用户的输入与s c h e m a 中的定义不符,浏览 器就会弹出警告框,并抛弃用户的输入,即删除文本框的值。 很明显以上三种方法中,第三种是最可行的,它可以在不编程的情况下实 现数据在客户端的有效性验证。但是也存在缺点,即开发人员必须为每个x m l 文件配置相应的s c h e m a 文件。为了解决这个问题,在系统编程阶段前必须先开 发相应的工具可用于根据数据库自动生成x m l 文件及相应的s c h e m a 文件。 1 4 本论文的主要工作 本论文首先介绍了x m l 的有关概念及其优点,接着介绍了x m l 的几种关 键技术,同时介绍了与本论文所用开发语言a s en e t 及a d o n e t 相关的技术。 论文采用关系型数据库作为后台数据库,以x m l 作为中问层。实现一一网 疆南交通大学硕士研究生学位论文第7 页 上计算机书店的目录、顾客购物车和付款台的制作。 在实现部分,首先进行商店的购物流程分析,然后进行数据库和页面设计, 接着应用软件工程知识对购物子系统进行了详细流程分析,最后使用x m l 结 合a s p n e t ,实现了上述分析,构建了一个结构简单的网上计算机书店。 本论文侧重于x m l 的应用,在具体实现工作中并没有考虑过多细节,而 是着重讲述了应用x m l 数据岛实现数据与w e b 控键绑定的优点,充分地使用 关系型数据库的安全性和x m l 的灵活性使搜索变得更简单和动态化。并且使 用s c h e m a 定义顾客注册文档,这样在顾客输入资料时,就不必进行复杂的数 据验证工作,而是直接交给s c h e m a 文件自动处理。在论文的验证部分给出了 编程控制和基于x m l 的两种验证方式。并作出了比较,指出了应用x m l 的优 点。 西南交通大学硕士研究生学位论文第8 页 2 1 m l 及其现状 第2 章x m l 技术 2 1 1x m l 的诞生 x m l 同h t m l 一样,都来自s g m l 即标准通用标记语言的一个子集。 s g m l 是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型 定义( 简称d 1 ) ,在d t d 中定义了标记的含义,因而s g m l 的语法是可以 扩展的。但是s g m l 十分庞大,既不容易学,也不容易使用,在计算机上实现 也十分困难。鉴于这些因素,w e b 的发明者提出了h t m l 语言,使它能够在计 算机网络上应用。 h t m l 只使用了s g m l 中的很小一部分标记。为了便于在计算机上实现, h t m l 规定的标记是固定的,即h t m l 语法是不可扩展的,它不需包含d t d 。 h t m l 这种固定的语法使它易学易用,在计算机上开发h t m l 的浏览器也十 分容易。 但是,随着w e b 的应用越来越广泛和深入,h t m l 渐渐显得力不从心, h t m l 过于简单的语法严重地阻碍了用它来表现复杂的形式。 为了满足不断增长的需要,就要从根本上解决h t m l 先天的不足,即要使 它的标签可以扩展,使它的标签可以代表有意义的数据。为了达到这样的目的, 一种方法是直接使用s g m l 作为w e b 语言,这固然能解决h t m l 遇到的困难, 但是s g m l 太庞大了。正是在这种形势下,w e b 标准化组织w 3 c 建议使用一 种精简的适于目前w e b 发展的s g m l 版本x m l 。 2 1 2 什么是x m l x m l 是一个精简的s g m l ,它将s g m l 的丰富功能与h t m l 的易用性 结合到w e b 的应用中。x m l 保留了s g m l 的可扩展功能,这使x m l 从根本 上有别于h t m l 。x m l 要比h t m l 强大得多,它不再是固定的标记,而是允 许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。h t m l 只 是w e b 显示数据的通用方法,而x m l 提供了一个直接处理w e b 数据的通用 方法。h t m l 着重描述w e b 页面的显示格式,而x m l 着重描述的是w e b 页面 的内容,因此结合h t m l 和x m l 可以实现数据与页面框架的分离,使得w e b 西南交通大学硕士研究生学位论文 第9 页 应用程序更易扩展和移植。 2 1 3 瑚l 与h t m l 的不同 表2 - 1x m l 与h t m l 对比表 比较内容 h t m l) a 几 是元置标语言,可定义新的置标语 可扩展性不具有扩展性 言 侧重点侧重于如何表现信息侧重于如何结构化地描述信息 不要求标记的嵌套,配对等,不要严格要求嵌套,配对,并遵循d t i ) 的 语法要求 求标记之间具有一定的顺序树形结构 可读性及可 难于阅读,维护结构清晰,便于阅读,维护 扩展性 数据和显示 的关系 内容描述与显示方式整合为一内容描述与显示方式相分离 保值性不具有保值性具有保值性 编辑及浏览 已有大量的编辑,浏览f 具编辑浏览工具商不成熟 t 具 2 1 4 x m l 的优点 ( 1 ) 良好的可扩展性 x m l 允许各个不同行业根据自己独特的需要制定自己的标记。实际上,许 多不同的行业、机构都利用x m l 定义了自己的置标语言。比如:化学置标语 言c m l ( c h e m i s t r ym a 岫pl a n g u a g e ) ,数学置标语言m a t h m l o v i a t h e m a t i c a l m a r k u pl a n g u a g e ) 。 ( 2 ) 内容与形式的分离。 x m l 不仅允许自定义标记,而且这些标记不必仅限于对显示格式的描述。 x m l 允许根据各种不同的规则来制定标记。 用h t m l 语言描述文档,至少存在以下三个问题: 显示方式内嵌于数据中。如果要改变数据的表示形式,则不得不重新 编码所有的h t m l 文件。 在数据中寻找信息非常困难。因为它所携带的信息不是语义上的描述。 而是显示上的描述。 数据的自身逻辑不得不让位于h t m l 语言规范的逻辑。任何一个不是 西南交通大学硕士研究生学位论文第l o 页 单纯为了显示h t m l 文件的应用程序,在处理h t m l 文件中的数据时, 都要做大量的额外工作。 在x m l 中,上述问题得到了很好的解决。 显示样式与数据的分离。显示样式从数据文档中分离出来,放在样式 单文件中。这样,如需改动信息的表示方式,只要改动样式单文件, 无需改动信息本身。 在x m l 中,数据搜索可以简单高效执行。搜索引擎不必遍历整个x m l 文档,只需找一下相关标记下的内容。 x m l 是自我描述语言。这大大方便了x m l 的处理应用程序的开发。 ( 3 ) 遵循严格的语法要求 x m l 非常注重准确性,如果语法有丝毫差错,分析器都会停止对它的进 步处理。因此具有较好的可读性和可维护性,而且也大大减轻了浏览器开发人 员的负担,同时提高了浏览器的时间空间效率。 ( 4 ) 便于不同系统之间信息的传输 要想在这些不同的平台,不同的数据库软件之间传输信息,不得不使用一 些特殊的软件,非常不便。有了x m l ,各种不同系统之间可以采用x m l 作为 交流媒介。它不仅简单易读,而且可以标注各种文字、图象甚至二进制信息。 这使得x m l 成为一种非常理想的网际语言。 ( 5 ) 数据的多样显示 由于x m l 的内容与表现形式是分开的,这样对于相同的x m l 文件,可以 根据自己的需要编写不同的样式表( 如x s l 样式表) 来显示其中的数据。 ( 6 ) 数据的本地处理 x m l 格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进 行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。这样 客户端不再是服务器单纯的一个显示终端,而具有了工作站的意义。x m l 文档 对象模型( d o 啪允许用脚本或其他编程语言处理数据。数据计算不需要回到服 务器就能进行。这样就可以利用一些简单的脚本语句,使用简单灵活开放的格 式,创建功能强大的w e b 应用软件。 ( 7 )良好的压缩性能 由于x m l 中描述的数据结构是重复出现的,使得相同的标签重复出现, 所以可以把这些重复出现的标签只传送一次,从而大大降低数据的传送量。 西南交通大学硕士研究生学位论文第1 l 页 2 2d t d 和s c h e m a d t d 和s c h e m a 都是用来检验x m l 的有效性,使用d t d 和s c h e m a 定义 可以方便地创建一个合格的x m l 文件以供大家共享。 2 2 1 d t d 简介 d t d 全称d o c u m e n t t y p ed e f i n i t i o n ( 文档类型定义) 。d t d 是一套关于标 记符的语法规则。它规定在文档中使用那些标记,这些标记按什么顺序出现, 哪些标记可以出现于其它标记中,哪些标记有属性等等。d t d 最初是为了使用 s g m l 而开发的,它可以是x m l 文档的一部分,但它通常是一份单独的文档 或者一系列文档。 一个有效的x m l 文档首先应该是一个格式良好的x m l 文档,除此以外, 它还必须遵守文档类型定义d t d 中已声明的种种规定。d t d 实际上描述了一 个置标语言的语法和词汇表,也就是定义了文档的整体结构以及文档的语法。 它定义了一个语法分析器,用于解释一个“有效的”x m l 文档所需要知道的所 有规则细节。 这个“规则”可以非常简单,仅仅列出所有有效的元素,例如元素、标记、 属性、实体;也可以非常复杂,不但列出这些元素,还指出这些元素之间的内 在联系。 2 2 1 1 内部d t d 使用d t d 最简单的方法,是在x m l 文档的前导说明部分加入一个d t d 描述,加入的位置是紧接在x m l 处理指示之后。一个包含d t d 的x m l 的文 档结构如下: 文档体 其中,第一行是x m l 声明,它以“ ”结束,在后面紧跟 西南交通大学硕士研究生学位论文第1 2 页 处理指令的名称,这里是x m l 。 x m l 声明中有三个属性。其中,v e r s i o n 的属性值必须指定,它指明所采 用的x m l 版本号,其它两个属性可选。e n c o d i n g 属性声明采用那种编码; s t a n d a l o n e 属性表明该文档是否和一个外部的d t d 配套使用,若属性值是 “y e s ”,说明该文档是一个独立的文档,没有另外一个配套的d t d 文档来进行 置标说明,值为“n o ”时则相反。 被定义的文档以d o c i y p e 中规定的根元素名作为其根元素的名字。 2 2 1 2 外部d t d 在实际中,更多的情况是为一批x m l 定义一个相同的d t d ,并将d t d 单独放置在一个文档中,使用该d t d 是只需在x m l 文档中加以引用即可。这 就是外部d t d 。 外部d t d 可以作为一个文档被引用。显然,它可以方便高效地被多个x m l 所共享。当需要对d t d 进行修改时,只需修改个公用的d t d 文档即可。 其声明格式如下: 其中,s y s t e m 是使用外部d t d 的关键字;u r l 可以是绝对路径,也 可以是相对路径。 2 2 1 3d i d 中元素的定义 在d t d 中元素的定义是通过关键字“e l e m e n t ”来进行的,一般的元素 定义如下: 0 r 2 2 1 4d t d 中属性的定义 在d t d 中,属性是通过关键字a t i l i s t 来定义的。一般属性定义方法如 下: 西南交通大学硕士研究生学位论文第1 3 页 在属性定义中a t t r i b u t e t y p e 可选的值如表2 - 2 所示。 值说明 c d a i a不可以解析的数据。 ( e n l l e n 2 1 ) 属性的值必须从列表中选择。 i d属性的值是一个值,也就是该属性的值是唯一的。 r e f该属性的值是另一个元素的d 值。 r e f s该属性的值是其它d 值的列表。 n m t d k e n该属性值是一个有效的x m l 名。 n m t o k e n s该属性值是一系列有效的x m l 名。 e n t r r y该属性值是一个实体。 e n t 1 e s 该属性值是一系列的实体。 n 0 t 蜘0 n 该属性值是一个n o t a t i o n 的值。 x m l :该属性值是一个经过预定义的x m l 值。 在属性定义中d e f a u l t v a l u e 可选的值如表2 3 所示。 表2 - 3d e f a u l t v a l u e 可选值 值说明 v a l l i e属性的缺省值,在实际中可以用其它的具体数值来代替v a l u e 。 嗣) e e a u u 属性的缺省值,在实际中可以用其它的具体数值来代替v a l u e 。 v a l u e # r e q u i r e d该属性的值必须在x m l 源文件的元素标签中给出。 椭m p l 】e d该属性可以被省略。 # f 】【x e dv a l u e该发展的值是固定不变的。 2 2 2 s c h e m a 简介 为了验证x m l 文档的有效性,可以使用d t d 。但是许多常用的限制不能 用d t d 来表述,比如数据的有效类型,如整型、布尔型、字符串型等,不能 用d t d 来表述。这就促使了s c h e m a 的产生。与d t d 相比,s c h e m a 不但功能 上更加强大,而且s c h e m a 本身也是x m l 文档,而不像d t d 那样是一种特殊 的格式。 2 2 2 1s c h e m a 声明 s c h e m a 元素是x m l s c h e m a 中出现的第一个元素,用于声明该x m l 文档 西南交通大学硕士研究生学位论文第旦页 是一个s c h e m a 文档。s c h e m a 语法表达如下: s c h e m a 具有两个属性:n a m e 指定该s c h e m a 的名称,而x m l n s 则指定该 s c h e m a 包含的命名空间。 2 2 2 2s c h e m a 中元素的定义 在s c h e m a 中元素的定义是通过关键字e l e m e n t t y p e 来进行的,一般的元素 定义规则如下: e l e m e n t t y p ec o n t e n t = ”i e m p t y i t e x t o n l y le l t o n l ylm i x e d 。 d t :t y p e = ”d a t d t y p e m o d e l :” o p e n icl o s e d ” n a m e = ”e 1 e m e n t n a m e ” o r d e r = ” o n els e qlm a n y 。 。1 - 以上的定义中,表达式“ ”的作用是为元素增 添一个子元素,使该元素成为元素类型。 下面简要介绍该定义中常用的几种属性的意义。 e l e m e n t t y p e 的c o n t e n t 属性 该属性的可选值有四个,即:e m p t y 、t e x t o n l y 、e l t o n l y 和m i x e d 。 其中e m p t y 表示内容为空,这与d t d 中的关键字e m p t y 的作用相同。 西南交通大学硕士研究生学位论文第l s 页 t e x t o n l y 表示只包含文本类型的内容,这与d t d 中的“# p c d a t a ”的作用相 似。e l t o n l y 表示只包含元素类型的内容。而m i x e d 表示包含上述任何情况,也 就是它可以即包含文本,又可以包含元素类型的内容。 e l e m e n t t y p e 的d t :t y p e 属性 这个属性用于指定元素文本的数据类型。在表2 - 4 中给出了一些常见的用 于指定元素文本和属性值的数据类型。 表2 - 4 数据类型表 数据类型说明数据类型说明 b o o l e a n布尔型c h a r 字符型 日期型如: 日期时间型如:“1 9 8 8 0 4 0 7 t 1 8 :3 9 :0 9 ”。 d a t e“1 9 9 4 一1 1 一0 5d a t e t i m e 不能选时区。 f i o a t实型i n t整型 n u m b e r 数字型 t i m e 时间型如:“0 8 :1 5 :2 7 ” u n i v e r s a l r e s o u r c e如:3 3 3 c 7 b c 4 - 4 6 0 f - 1 1 d 0 b c 0 4 - 0 0 8 0 c 7 0 5 5 u r iu u i d i d e n t i f i e r 的a 8 3 简写 e n t i t y实体类型 e n t i t i e s 实体类型 e n u m e r a t l o n枚举类型i dm 类型,该类型可以确定元素的唯一性。 从d t :t y p e 属性的书写形式可以知道字符d t 是一个名域前缀。所以在引用 这个名域前缀之前,必须定义这个名域前缀。 e l e m e n t t y p e 的m o d e l 属性 m o d e l 指定该元素是否可以包含其它未在x m l s c h e m a 中定义的元素和属 性。表2 5 列出了m o d e l 的可能取值 表2 - 5e l e m e n t t y p e 的m o d e l 属性的取值 取值释意 o p e n该元素可以包含其它未在x m l s c h e m a 中定义过的元素和属性 c l o s e d 该元素只能包含在本x m l s c h e m a 中定义过的元素和属性 e l e m e n t t y p e 的o r d e r 属性 o r d e r 指定该元素的子元素的排列规则。表2 - 6 给出了o r d e r 的可能取值。 西南交通大学硕士研究生学位论文第1 6 页 表2 - 6e l e m e n t t y p e 的o r d e r 属性取值 取值释意 0 n e 只允许一个于兀茉出现 s e q指定子兀累的出现顺序 m a l l y表不于兀索可以按任何顺序排列( 或看不出现) 2 2 2 3s c h e m a 中属性的定义 在s c h e m a 中属性的定义是通过关键字“a t t r i b u t e t y p e ”来进行的,一般的 元素定义如下: a t t r i b u t et y p e = ”属性名协 以上的定义中,表达式“ ”用于引用特定的属性。 u a n l e 属性则是指定一个属性名,l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年内蒙古呼伦贝尔农垦谢尔塔拉特泥河哈达图浩特陶海农牧场有限公司招聘笔试参考题库及答案详解(名师系列)
- 押题宝典教师招聘之《幼儿教师招聘》试题附参考答案详解(综合题)
- 押题宝典教师招聘之《小学教师招聘》试题及答案详解1套
- 教师招聘之《小学教师招聘》题库【培优b卷】附答案详解
- 教师招聘之《小学教师招聘》过关检测试卷附完整答案详解【全优】
- 教师招聘之《小学教师招聘》强化训练高能及答案详解(真题汇编)
- 2025内蒙古呼伦贝尔农垦莫拐农牧场有限公司招聘16人笔试模拟附答案详解(典型题)
- 教师招聘之《幼儿教师招聘》能力提升题库含答案详解(新)
- 教师招聘之《小学教师招聘》能力检测及完整答案详解(易错题)
- 教师招聘之《幼儿教师招聘》模拟题库讲解附参考答案详解【b卷】
- 法律顾问服务流程与规范
- Flash-CS6基础知识课件
- T/CAPE 12004-2022草酸二甲酯加氢制备乙二醇催化剂
- 低压电工安全培训
- DB44-T 2452-2023 高速公路服务设施建设规模设计规范
- 商业商场保洁合同协议
- 岩移观测施工方案
- 2025-2030中国汽车减震器市场战略规划及竞争力策略分析研究报告
- 2025济南市厂房租赁合同
- 麻精药品管理培训
- 吹灰器维护考试题及答案
评论
0/150
提交评论