已阅读5页,还剩58页未读, 继续免费阅读
(通信与信息系统专业论文)下一代网络中的xml技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电学院硕士学位论文摘要 摘要 随着网络的不断发展和数据业务的扩展,下一代网络已经成为网络发展的重 中之重。下一代网络( n g n ) 是可以提供包括话音、数据和多媒体等各种业务的 综合开放的网络架构,它使用开放的网络a p i 实现网络业务、呼叫控制和承载的 分离,以支持快速灵活的业务开发、集成、定制和部署。可扩展标记语言( 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 ) 作为一种面向数据的标记语言,以其结构化数据 的特点,在n g n 的业务控制、数据交换和互操作、可扩展性等方面起着关键性的 作用。 论文总结笔者参加科研项目的研究心得,参照3 g p p 、w 3 c 等组织制定的标准 规范和建议草案,围绕下一代网络中基于x m l 的业务提供进行深入的研究和探 讨。 论文首先就x m l 的基础技术进行了描述,重点介绍了x m l 的基本概念和优点, 以及用于表达简单本体知识的基于x m l 的框架协议r d f ,并对r d f 的编程接 口j e n a 做了介绍。然后研究了x m l 的多种应用技术,着重考察了元数据描述技 术,w e bs e r v i c e s 技术中的简单对象访问协议( s o a p ) 、w e bs e r v i c e s 描述语言 ( w s d l ) 和统一描述、发现与集成( u d d i ) 。在此基础上,论文参照w e bs e r v i c e s 和p a r l a y o s a 的业务提供体系结构,给出了n g n 业务提供平台的x m l 设计技术。 论文详细阐述了该平台各个组成部分中的x m l 技术应用,并在此平台之上设计实 现了通用个人通信( u p t ) 业务。其后,论文又进一步结合u p t 业务研究基于x m l 的用户元数据描述技术,给出了用户元数据文档结构及其具体设计实现方法,并 对数据库中存取元数据的方法及性能作了分析。论文最后展望了x m l 技术的发展 方向。 在上述研究过程中,论文作者建立了基于t o m c a t 和a x i s 的w e bs e r v i c e s 平台的实验室开发环境,为项目下一阶段的开发奠定了良好的基础。 南京邮电学院硕士学位论文a b s t r a c t a b s t r a c t w i t l lt h ec o n t i n u o u se x p a n d i n go fn e t w o r k sa n dd a t as e r v i c e s n g nh a sb e c o m eak e y s t o n e n g ni sa ni n t e g r a t e da n do p e nn e t w o r ka r c h i t e c t u r et h a ti sa b l et o p r o v i d ed i f f e r e n tk i n d so f s e r v i c e s ,s u c ha sv o i c e ,d a t a ,m u l t i m e d i ae t e i no r d e rt om a k et h es e r v i c e sd e v e l o p e d ,i n t e g r a t e d , c u s t o m i z a t e da n dd e p l o y i e dm o r er a p i d l y , n g nm a k e sn e t w o r ks e r v i c e ss e p a r a t e df r o mt h ec a l l c o n t r o la n dh e a r e rl a y e r sb yu s i n go p e nn e t w o r ka p i 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 l a d a t ao r i e n t e dm a r k u pl a n g u a g ef e a t u r e si nt h es t r u c t u r e dd a t af o r m a t i tp a l y sak e yr o l ei nt h e f i e l d so f n g ns e r v i c e sc o n s u l ,d a t ae x c h a n g ea n di n t e r o p e r a b i l i t y 勰w e l la se x t e n s i b l i t y t h ep a p e rs u m m a r i z e st h ea u t h o r sr e s e a r c ha c h i e v e m e n t sa n de x p e r i e n c e sg a i n e di nr & d p r o j e c t s w i t ht h a t i tg i v e sa l li n - d e p t hs t u d yo na n dd e t a i l e da n a l y s i so fx m l b a s e ds e r v i c e p r o v i s i o nf o r n g n ,r e f e r r i n gt o t h es p e c i f i c a t i o n sa n dd r a f t so f 3 g p p 、w 3 c f i r s to fa l l ,t h ep a p e rd e s c r i b e st h eb a s et e c h n o l o g i e s ,i n c l u d i n gt h eu n d e r l y i n gc o n c e p ta n d g o o dp o i n t so fx m l t h e ni ti n t r o d u c e st h er d ft h a ti su s e dt od e s c r i b et h es i m p l eo n t o l o g y k n o w l e d g ea n dr d fa p i - - j e n a s e c o n d l y ,t h ep a p e rs t u d i e ss o m ek i n d so f a p p l i c a t i o nt e c h n o l o g y , w i t he m p h a s i so nm e t a d a t ad e s c r i p t i o nt e c h n o l o g y , a n ds o a p , w s d l , u d d ii nw e bs e r v i c e s t e c h n o l o g y b a s e do ot h e s es t u d i e s ,t a k i n gr e f e r e n c eo ft h ew e bs e r v i c e sa n dp a r l a y o s as e r v i c e p r o v i s i o na r c h i t e c t u r e ,t h ep a p e rp r e s e n t st h en g n s e r v i c ep r o v i s i o np l a t f o r mb a s e do nx m l t a k i n gt h eu n s e r v i c ea sa ne x a m p l e t h ep a p e re x p a t i a t e sx m l t e c h n o l o g yu s e di nt h i sp l a t f o r m a n dc o n s i d e r i n gt h eu p ts e r v i c e t h e p a p e r s t u d i e st h ec o u s t o m e rm e t a d a t a d e s c r i p t i o n t e c h n o l o g yb a s e do nx m l ,a n dp r e s e n t st h es t r u c t u r eo fc o u s t o m e rm e t a d a t ap r o f i l ea n dd e s i g n m e t h o d f o l l o w i n gt h a t , t h ea u t h o rp r e s e n t st h ed a t a b a s es t o r a g em e t h o do f m e t a d a t a a n da n a l y z e s i t sp e r f o r m a n c e f i n a l l yt h ed i r e c t i o no f x m l t e c h n o l o g yd e v e l o p m e n ti sd i c t a t e d d u r i n gt h ep r o c e s so fs t u d i e s ,aw e bs e r v i c e sp l a t f o r mb a s e do nt o m c a ta n da x i sw a s c r e a t e d ,w h i c hl a i das o l i df o u n d a t i o nf o rt h en e x ts t a g ed e v e l o p m e n to f t h ep r o j e c t i i 南京邮电学院学位论文独创性声明 y7 6 5 2 4 9 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:缝邀日期:岛簦笸 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:醴邀 导师签名:期必 窿 南京邮电学院硕士学位论文第一章引盲 第一章引言 1 1 下一代网络的技术发展背景 随着通信技术的发展和业务种类的增多,网络体系结构日益复杂。当前,三 网融合的下一代网络成为研究的热点。2 0 0 4 年2 月,i t u - - t s g l 3 会议经过讨论, 给出了下一代网络的标准定义: 下一代网络是一个分组网络,它提供包括电信业务在内的多种业务,能够利 用多种带宽和具有q o s 能力的传送技术,实现业务功能与底层传送技术的分离; 它提供用户对不同业务提供商网络的自由接入,并支持通用移动性,实现用户对 业务使用的一致性和统一性。 根据下一代网络的基本概念,可以看到下一代网络的核心思想:业务与媒体 相分离;媒体与控制相分离,即业务驱动;业务与网络相分离。用户可以自行定 义和配置自己的业务特征而不必关心承载业务的网络形式以及终端类的型,使得 业务和应用的提供具有较大的灵活性,从而满足用户不断发展更新的业务需求, 也使得网络具备了可扩展性和快速部署新业务的能力,使网络运营者更具竞争 力。 下一代网络的内涵实际上是非常广泛的。从当前网络及近期发展来看,以智 自e 光网为核心的下一代光网络,以多协议标记交换( m p l s ) 和i p v 6 为重点的下 一代i p 网络以及3 g 、4 g 的下一代无线通信网络都在下一代网络的探讨范畴当中, 国际电信联盟( i t u ) 从3 g 的最新版本r 4 开始,已经将核心网络的技术定义为 n g n 。从电信发展的现状来看,业务提供成为市场关键,而下一代网络恰好提供 了能运行灵活多样的综合业务的网络平台,所以下一代网络这一结合多种网络优 势和特点的全新的网络体系结构已经成为国内外电信运营商及制造商关注的重 点,并已经在逐步构建。 下一代网络的目标是:在传输、业务和应用相互分离的前提下实现网络的互 通,从而使其在全球范围内跨网络支持各种业务因此,下一代网络的功能和体 系结构的设计,必须满足下一代网络业务定义及规范方面与实际网络技术规范之 间有明显界限的要求,即是一种与具体实施技术相独立的方案。 南京邮电学院硕士学位论文第一章引盲 n g n 网络架构分为四层:数据层、应用层、控制层和传输层。 传输层负责用户信息的传送。在n g n 的接入网部分,各传送技术仍沿用各自 的承载控制协议,如t d m 的七号信令、a t m 的宽带信令和i p 的路由协议,由信 令网关实现接入网和核心网的信令协议转换。相应的,媒体网关实现各种媒体格 式间的转换。 控制层负责呼叫的建立和释放。n g n 以软交换为网络的核心技术,实现通信 地址和终端能力解析,处理呼叫会话信令,控制媒体信道的协商以及安全接入、 计费、资源管理等。 应用层的功能是利用传输层和控制层提供的网络能力构建和实现增值业务。 n g n 将业务控制和呼叫控制相分离,前者由业务层实现,后者由控制层实现。独 立的业务供应商可以通过业务层向n g n 快速引入新业务。 数据层向应用层和控制层提供网络数据库。其中,最重要的一类数据库就是 i p 网络中特有的目录服务数据库,它为软交换网络的地址解析提供数据服务。 另一类数据库是支持软交换网络增值业务的用户数据库和业务数据库。 由此可见,在传输层和控制层的支持下,开放的业务层可以利用网络层里的 各种数据库,实现不同网络的业务融合,这也正是n g n 的最大优点之一。 1 2 下一代网络的业务提供技术 通信网发展的根本目的是提供各种业务,业务提供技术是通信网发展的重要 标志之一。传统的通信网业务体系结构是面向过程的,业务控制采用集中控制方 式,业务的分层结构和底层的连接控制功能紧密关联。随着移动网的迅速发展和 个人通信需求的日益高涨,现有通信网络体系结构在用户个人业务的灵活提供和 配置、智能化以及网络融合等方面都存在一定问题,传统的业务体系结构已经不 能满足进一步发展的需要。 下一代网络与传统通信网络相比,最为突出的特点是业务的提供更加强调以 用户为中心,业务的引入更加灵活多样。具体地讲,下一代网络业务提供框架至 少应满足以下几个基本条件: ( i ) 根据用户的定义和配置提供个性化的业务。 ( 2 )当用户移动到访问地网络,或者改变使用的终端后,仍然可以享 南京邮电学院硕士学位论文第一章引盲 受到与在归属地网络中同样的服务。 ( 3 ) 第三方业务提供商可以灵活地部署和执行自己提供的业务。 ( 4 ) 在开放业务提供的同时,保证运营网络的安全。 与传统电信软件的开发不同,n g n 业务的创建将大量采用计算机领域中最新 的软件开发技术。计算机领域技术的使用促进了计算机领域的功能( 电子邮件、 即时消息、在席服务、目录等) 与电信应用( 电话、语言处理、服务质量、计费) 的结合。开放式网络a p i 、j a v a 和基于x m l 的脚本语言的应用为开发新型开放的 n g n 业务铺平了道路,并且能够简化n g n 业务的开发过程,缩短业务开发周期。 采用上述技术,使业务生成对外开放,产生了独立于网络运营商的业务供应商, 形成一条由设备制造商、网络运营商、业务供应商、业务开发商和终端用户组成 的价值链,各方共同参与提供和使用业务,共同收益。 1 3 本人所作的工作 在导师的指导下,笔者从2 0 0 3 年开始致力于研究基于x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ,可扩展标记语言) 技术的下一代网络技术。 笔者首先跟踪研究了当前通信领域和计算机领域都密切关注的x m l 技术,对 x m l 技术的语法、特性和r d f ( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ,资源描述框 架) 等x m l 的基础技术以及对x m l 、r d f 的编程等关键实现技术进行了广泛的研 究。然后,进一步深入研究了x m l 的应用技术,如元数据模型的基本概念及其应 用技术,以及w e bs e r v i c e s 中的基于x m l 的关键技术s o a p 、w s d l 、u d d i 等。 在此基础上,笔者参考3 g p p 、w 3 c 、p a r l a y 等组织制定的标准规范和建议草 案,围绕下一代网络中基于x m l 的业务提供进行深入的研究和探讨,参照w e b s e r v i c e s 和p a r l a y o s a 的业务提供体系结构,给出了下一代网络业务提供平台 的x m l 设计技术。在此平台之上设计实现了通用个人通信( u p t ) 的业务。其后, 论文进一步结合u p t 业务研究基于】( i j l 的用户元数据描述技术,给出了用户元数 据文档结构及其具体设计实现方法,并对数据库中存取元数据的方法及性能作了 分析。 目前,通过项目组成员的共同努力,一个开发工具齐全、运行稳定的下一代 网络业务提供的实验平台已经搭建成功,可以在此基础上进行业务的基本开发。 南京邮电学院硕士学位论文 第一苹引言 为以后进一步的研究奠定了良好的基础。 本论文依据笔者的上述研究成果和项目开发中所获得的经验,围绕x m l 技术 及其在下一代网络中的应用进行了系统和详尽的阐述和讨论。 南京邮电学院硕士学位论文 第二章几基础技术 第二章x m l 基础技术 2 1 可扩展标记语言x m l 2 1 1x m l 简介 2 ,1 1 1x m l 的来源 】( 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 是互联 网联合组织( w 3 c ) 创建的一组规范,其目的不仅在于满足不断增长的网络应用 需求,同时还希望借此能够确保在通过网络进行交互合作时,具有良好的可靠性 与互操作性。 x m l 是标记语言( m a r k u pl a n g u a g e ) 的成员。所谓标记,是指根据数据自 身信息进行编码的方法。如果在语言中为了标识某些信息而加入一些标记,这种 语言就被称为标记语言。通常根据需要定义一套标记,然后将这套标记添加到语 言中,就变成了标记语言。标记语言不同于一般的控制流程序设计语言,基本上 可以被视为一种数据流的文档结构描述语言。在计算机处理过程中,标记语言的 标记既可以作为数据,也可以作为控制语句来使用。 x m l 是s g m l ( s t a n d a r dg e n e r a li z e dm a r k u pl a n g u a g e 。标准通用标记语言) 的一个精简子集,主要用于信息传递描述的标记语言。在w e b 还没有出现之前, s g m l 就已经存在了,正如它的名称指出的那样,s g 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 中定义了标记的含义,因而8 g m l 的语法是可以扩展的。s g m l 是一种标记语 言,实际上它是一种通用的文档结构描述标记语言,主要用来定义文献模型的逻 辑和物理类结构。s g m l 是i s o 组织于1 9 8 6 年发布的i s 0 8 8 7 9 国际标准。一个s g m l 语言程序,要由三部分组成,即语法定义、文档类型定义和文件实例。语法定义, 定义了文件类型定义和文件实例的语法结构;文件类型定义定义了文件实例的 结构和组成结构的元素类型。文件实例是s g m l 语言程序的主体部分。s g m l 的实 际使用中,每一个特定的d t d 都定义了一类文件。例如,所有的数学文档都可以 南京部电学院硕士学位论文 第二章x 札基础技术 使用同一个d t d 。因此,习惯上把具有某一特定d t d 的s g m l 语言,称为某某标 记语言。例如用于国际互联网的h t m l 语言。这样s g m l 就成为那些派生语言的元 语言。s g m l 并没有像当初的设计者所预想的那样为网络所广泛采纳,一个原因 是它非常复杂,x m l 保留了s g l i 【l 中的优秀特性:可扩展、文本描述的设计,面 向i n t e r n e t 的设计,并且具有简单性。 信息在语法描述上的差异,我们往往可以通过必要的数据格式转化来将信息 转化为目标应用能够处理的语法格式。当然,更为理想的情况应该是所有的信息 都采用同样的语法来描述,x m l 的出现使得不同类型的数据表示成同一格式成为 了可能。x m l 已经成为了w e b 上数据表示和交换的事实标准,是应用之间或者机 器之间共享数据的一种有效方式。x m l 及其相关技术的发展极大地促进了信息表 达和交换过程中语法描述上的统一,越来越多的应用开始选用x m l 作为其数据、 配置信息、消息以及服务的语法描述模式。迄今为止,x m l 已经成为了w e b 上最 理想的数据表达方式。x m l 的可扩展性使x m l 可以满足各种不同领域数据描述的 需要,并可以对计算机之间交换的任何数据进行编码。 2 1 1 2x m l 与h t m l 的区别 s g m l 是一个语言模板,它可以描述其他具有具体语义的语言。h t m l 是s g m l 的一个实例,它的d t d 作为标准被固定下来,因此,h t m l 不能作为定义其他标 记语言的元语言。它的语言遵照s g m l 规范,并且定义其中每个标记的具体含义。 x m l 是s g m l 的一个精简子集,它也是一个语言模板。严格的讲,x m l 还是s g m l 。 x m l 继承了s g m l 的可扩展性、结构性及可校验性,与h t m l 语言相比,区别主要 就体现在以下三方面: ( 1 ) 可扩展性方面:h t m l 不允许用户自行定义自己的标识或属性,而在x m l 中,用户能够根据需要,自行定义新的标识及属性名,以便更好地从语义上修改 数据。 ( 2 ) 结构性方面:h t m l 不支持深层的结构描述。x m l 的文件结构嵌套可以复 杂到任意程度,能表示面向对象的等级层次。 ( 3 ) 可校验性方面:h t m l 没有提供规范文件以支持应用软件对h t m l 文件进 行结构校验;而x m l 文件可以包括一个语法描述,使应用程序可以对此文件进行 6 南京邮电学院硕士学位论文 第二章x 虬基础技术 结构确认。 x m l 描述的是数据本身,而h t m l 描述了如何显示w e b 页中的数据。x m l 允许 将数据组织成数据结构,甚至很复杂的数据结构;用户可以按照自己的需要剪裁 数据,这就允许用户在x m l 文档中以自己的方式组织数据。 x m l 和h t m l 的用途是不同的。具体体现在如下几个方面: ( 1 ) x m l 是被设计用来描述数据的:而h t m l 是被设计用来显示数据的。 ( 2 ) x m l 是关于数据的语言,是关于如何描述信息的;而h t m l 是关于如 何显示信息的。 ( 3 ) x m l 是可扩展的,允许用户自定义自己的标志和自己的文档结构;在 h t m l 中所有的标记和文档结构都是预先定义的,用户只有权力使用 标准的h t m l 标记。 ( 4 ) x m l 是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 的使用解决了通过i n t e r n e t 来交换这 些数据的问题,将这些数据转换成) ( m l 使工作的复杂性大大降低。 目前x m l 已经在基于i n t e r n e t 的企业问和企业内部业务控制、数据交换和 互操作、可扩展性等方面显示出越来越强大的生命力和广阔的发展前景。 2 1 1 3x m l 的三要素 ) ( m l 有许多部分组成,其中最主要的为三个部分。分别是文档类型定义 ( o t d ) ,也就是x m l 的布局语言:可扩展的样式语言( e x t e n s i b l es t y l e l a n g u a g e 。简称为x s l ) 也就是x m l 的样式语言;以及可扩展链接语言( x l l ) 。 文档类型定义( d t d ) 规定了文档的逻辑结构。它可以定义文档的语法,而 文档的语法反过来能够让x i , e , 语法分析程序确认某张页面标记使用的合法性。 南京邮电学院硕士学位论文 第二章n l 基础技术 d t d 定义页面的元素、元素的属性以及元素和属性之间的关系。例如,d t d 能够 规定某个表项只能在某个列表中使用。 理想的定义应面向描述与应用程序有关的数据结构而不是如何显示数据,即 应把一个元素定义为一个标题行,然后让样式表和脚本定义如何显示标题行。d t d 不是强卷4 性的。对于简单应用程序来说,开发商不需要建立自己的d t d 。可以使 用预先定义的公共d t d ,或者根本不使用。即使某个文档已经有了d t d ,只要文 档是组织良好的,语法分析程序也可以不对照d t d 来检验文档的合法性。服务器 可能已经执行了检查,所以检验的时间和带宽将得以节省。 可扩展的样式语言( x s l ) 是用于规定x m l 文档样式的语言。x s l 能够使w e b 浏览器改变文档的表示法,饲如数据的显示顺序改变,就不需要再与服务器进行 交换通信。或者交换样式表,同一个文档可以显示得更大,或者经过折叠只显示 外面一层,或者变为打印格式。x s l 凭借其可扩展性能够无穷无尽的标记,而控 制每个标记的方式也是无穷尽的。 可扩展链接语言( x l l ) 将支持目前w e b 上已有的简单链接,并且将进一步 扩展链接,包括结束死链接的间接链接以及可以从服务器中仅查询某个元素的相 关部分的连接符“l ”。 2 1 2x m l 的基本语法 x m l 提供了一个将大量信息组织成为具有确定意义的整体结构的功能,这种 具有确定意义的整体成为文档。x m l 文档是数据的容器,它并不关心数据的现实 样式与布局效果。从物理上说,该文档由文字信息组成,它含有一些实体 ( e n t i t y ) ,这些实体可以引用位于内存、硬盘或w e b 的其它位置中的另外一些 实体。一个x m l 文档的逻辑结构包括处理指令、声明、注释和元素。x m l 文档含 有表现置标或字符数据( c h a r a c t e rd a t a ) 的普通文本。 x m l 文档必须组织良好,这意味着文件必须满足以下几项基本规则。 ( 1 )文档以x m l 声明 开始。 ( 2 )有一个包含所有其他内容的根元素。 ( 3 )所有元素必须合理地嵌套,不允许交叉嵌套。 ( 4 )起始标记和结束标签应当匹配:结束标记是必不可少的,不能像在 南京邮电学院硕士学位论文 第二章l 基础技术 h t m l 里面那么随便。 ( 5 )大小写应一致:x m l 对字母的大小写是敏感的, 和 是完 全不同的两个标记,所以结束标记在匹配时一定要注意大小写一致; 同时,x m l 不会忽略空格。 ( 6 )属性必须包括在单引号或双引号中。 ( 7 )标记和属性的命名是合法的,元素中的属性是不允许重复的。 下面给出的是一个组织良好的x 】i l l 文档。 ? x m lv e r s i o n = 1 0 。e n c o d i n g = g b 2 3 1 2 。? s a m p r a s 1 2 3 4 5 6 7 九d ) 6 5 4 3 2 1 u s e t 如上所示的这种遵循基本的x m l 语法的文档叫做良构的x m l 文档。该文档中 第行中的声明( x m ld e c l a r a t i o n ) 指出该文档遵循了1 0 版本的) ( m l 。在这 个铡子中, 是该) 【1 l 文档的根元素( r o o te l e m e n t ) 或文档元素( d o c u m e n t e l e m e n t ) , 是包含在 元素中的子元素( c h i l de l e m e n t ) 之一,而 t i m e 是 元素的一个属性( a t t r i b u t e ) 。 由于x m l 的标记是可扩展的,用户可以定义自己的标记,为了解决使用煳l 描述的数据的互通问题,有必要针对不同的行业或应用定义通用的矾l 词汇和文 档结构。文档类型定义( d t d :d o c u m e n tt y p ed e f i n i t i o n ) 和x m ls c h e m a 就是 用来定义这通用词汇的标准。与d t d 相比,x m ls c h e m a 本身就是x m l 文档, 并且克服了d t d 不能定义元素的数据类型的缺点,因此逐渐得到广泛的应用。 如果一个x m l 文档是良构的,具备与之关联的文档类型定义或x m ls c h e m a , 并且给定的文档实例遵循该定义,那么这个文档就被认为是有效的。d t d 或蹦l s c h e m a 文档充当模版,其对应的x m l 文档必须正好与之匹配。如果情况并非如 此,那么文档实例的格式化存在着问题,而整个文档就会被看作是无效的。 在文档中嵌入处理指令( p r o c e s s i n gi n s t r u c t i o n ) 的情况是很常见的,但 这些指令不会被看作该文档的内容的组成部分。它们用作实现与应用程序级的代 码之间通信,而不改变在x m l 文档内容的含义。 下面的表示法显示了处理指令的语法: 9 南京邮电学院硕士学位论文 第二章x m l 基础技术 处理指令含有一个目标( t a r g e t ) ,紧随其后的是一个或多个描述,其中, 目标名称指定了将该处理指令应用于哪个应用程序。x m l 文档中常见的目标名称 是保留目标x m l 。这使得该x m l 文档能够将这些描述传达给x m l 分析程序。在x m l 文档中,最常用到的处理指令是x m l 声明本身。 2 1 3x m l 的特点 ( 1 ) x m l 的可扩展性 x m l 是一种元语言,使用者可以自己创建标记,因而具有可扩展性。这一优势 使得x m l 在网络应用和信息共享上方便,高效。可扩展。x m l 允许各种不同的专 业( 如航空、电信等) 开发与自己的特定领域有关的标记。这就使得该领域中的 人们可以交换笔记、数据和信息,而不用担心接收端的人是否有特定的软件来创 建数据。特定领域的开发人员甚至可以向本领域外的人发送文档,可以相信接受 文档的人能够查看文档的内容。 ( 2 ) x m l 的自我描述性和数据显示分离特性 x m l 标准中将数据的语义和数据的格式分开,x m l 文档只描述数据的语义信 息,其自我描述性质能够很好地表现许多复杂的数据关系,使得基于x m l 的应用 程序可以在x m l 文件中准确高效地搜索相关数据内容,忽略其他不相关部分。由 于x m l 是非专有的并易于阅读和编写,具有自解释性,就使得它成为在不同的应 用间交换数据的理想中介。x m l 使用户不必因为数据已经用专有格式编写好了或 是接受数据的人只接受专有格式而限制在一个特定的程序上。 ( 3 ) x m l 语言利于结构化和集成的数据 x m l 对于大型和复杂的文档是理想的,因为数据是结构化的。这不仅使用户 可以指定一个定义了文档中的元素的词汇表,而且还可以指定元素之间的关系。 如果向数据库中输入数据,可确保没有漏下的字段。当没有数据输入时还可提供 一个缺省值。x m l 也提供客户端的包括机制,可以根据多种来源集成数据并将其 作为一个文档来显示,还可以把数据进行重新排列。数据的各个部分可以根据用 户的操作显示或隐藏。当处理大型的信息仓库,比如关系型数据库时是极为有用 的。 南京邮电学院硕士学位论文第二章x m l 基础技术 ( 4 ) x m l 的跨平台优势 x m l 由于是s g m l 的子集,与生俱来地带有跨平台的特性,因此,x m l 的出现 带动了j a v a 发展的新一轮高潮。 2 1 4x m l 编程接口 由于x m l 文档实际上就是一个文本文件,因此必须要有一个能够识别x m l 文档中信息的文本文件阅读器_ x m l 语法分析器,用来解释j ( i l 文档并提取其 中的内容。目前最流行和广泛使用的解析器有:文档对象模型d o m ( d o c u m e n t o b j e c tm o d e l ) 、用于x m l 的简单a p is a x ( s i m p l ea p if o rx m l ) 。 2 i 4 i文档对象模型d o m d o m ( d o c u m e n to b j e c tm o d e l ) 是w 3 c 制定的用来处理煳l 文档的标准编程 对象接口之一。w 3 cd o m 提供了一种像对待结点树一样来处理x m l 文档的方式。 d o m 是一种与平台和语言无关的接口,它允许程序和脚本动态访问和修改文档的 内容、结构和类型。 x m ld o m 定义了一系列的对象和方法对d o m 树的节点进行各种随机操作。 图2 - i 所示为x m l 文档用d o m 的树结构表示出来。 图2 - i 舭文档的d 伽树结构 从图2 一l 可以看出,在d o m 中,文档的逻辑结构类似一棵树。文档、文档中 的根、元素、元素内容等都是以对象模型的形式表示的。文档中的根实际上也是 一个元素,之所以要把它单独列出来,是因为在x m l 文档中,所有其他元素都是 南京邮电学院硕士学位论文第二章x m l 基础技术 根元素的后代元素,而根元素是唯一的,具有其他元素所不具有的某些特征。 x m ld o m 的设计概念为,将操作的x m l 文件放入x m ld o m 树对应的各种结点 之中,也就是当用d o m 来操作x m l 文件时,x 虬文件中所有的东西都变成了x m l d 伽 树上的一个结点。因为结点是一个对象,因此通过面向对象的方法,底层可以封 装许多易用的方法和属性,可以在程序中调用这些方法和属性来完成对x m l 文件 的各种操作。 d o m 将x m l 文件全部读入内存中,然后将各个元素组成一个数据树,以便快 速地访问各个结点。 2 1 4 2简单应用程序接口s a x s a x 的全称是s i m p l ea p i sf o rx m l ,也即x m l 简单应用编程接口。s a x 接 口之所以叫做“简单”应用编程接口,是因为绝大多数事情解析器都没有做,需 要应用程序自己去实现。s a x 的基本原理是由接口的使用者提供符合定义的处理 器,x m l 解析时遇到特定的事件,就去调用处理器中特定事件的处理函数。这是 一种对x m l 文档进行顺序访问的模式,提供了快速读写x m l 数据的方法。当使用 s a x 解析器对x m l 文档进行解析时,会触发一系列事件,并激活相应的事件处理 函数,从而完成对x m l 文档的访问,所以s a x 接口也称作事件驱动接口。 d o m 和s a x 是两种处理方法完全不同的抽象编程接口。首先,d o m 是w 3 c 的 候选建议,由w 3 c 组织负责开发。相反,s a x 是一个事实上的标准,由一组开发 x m l d e v 邮件列表的人员负责开发。 d o m 和s a x 更重要的区别在于其基本的技术方法。 d o m 是一组遍历( t r a v e r s a l ) 接口,用于将x m l 文档的抽象数据模型拆分 为通用对象结点的层次树。d o m 以及基于树的处理具有几个优点。首先,由于 树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构做出更改。 它还可以在任何时候在树中上下导航,而不是像s a x 那样是一次性的处理。d o m 使用起来也要简单得多。另一方面,在内存中构造这样的树涉及大量的开销。大 型文件完全占用系统内存容量的情况并不鲜见。此外,创建一棵d o m 树可能是 一个缓慢的过程。 s a x 是一组流( s t r e a m i n g ) 接口,用于将x m l 文档的抽象数据模型拆分为 南京邮电学院硕士学位论文第二章几基础技术 已知方法调用的线性序列。这种处理的优点非常类似于流媒体的优点。分析能够 立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据 时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的 优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时 停止解析。一般来说,s a x 还比它的d o m 快许多。另一方面,由于应用程序没 有以任何方式存储数据,使用s a x 来更改数据或在数据流中往后移是不可能的。 2 i 5x m l 标准 w 3 c 的) ( m l 工作组正致力于确保x m l 的互用性,以及为开发人员、处理人员 和不同系统和浏览器的使用者提供支持,并进一步发展) ( m l 的标准。 x m l 包括的标准如下: ( 1 )可扩展标记语言( 蹦l ) 标准:这是w 3 c 正式批准的,该标准是稳 定的,可用于w e b 和工具的开发。 ( 2 ) x m l 名域( n a m e s p a c e ) 标准:这用来描述名域的句法,支持能识 别名域的x m l 解析器。 ( 3 )文档对象模式( d o m ) 标准:这为给结构化的数据编写脚本提供了 标准,这样开发人员就能够同计算机在基于x m l 的数据上进行交 互作用。 ( 4 )可扩展类型语言( x s l ) 标准:x s l 有两个模块,即x s l 转换语 言和x s l 格式化对象。转换语言可用来转换x m l 以满足显示要求。 由于x s l 的两部分是模块,转换语言能够独立地用来进行多用途 的转换,包括把x m l 转换成结构完整的h t m l 。 ( 5 )可扩展链接语言( x l l ) 标准和x m l 指针语言( x p o i n t e r ) 标准: x l l 提供类似于h t m l 的链接,但功能更强大。例如,链接可以是 多方向的,可以存在于对象上而不仅仅是页面上。 南京邮电学院硕士学位论文 第二章) ( 1 i l 基础技术 2 2 资源描述框架r d f 2 2 1r d f 基本概念 ) ( m l 所存在的问题是因为) ( m l 不具备语义描述能力。为此,w 3 c 推荐以资源描 述框架( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ,简称r d f ) 标准来解决x m l 的语义局 限。资源描述框架是一个用于表达关于万维网( w o r l dw i d ew e b ) 上资源的信息的 语言。它专门用于表达关于w e b 资源的元数据,比如w e b 页面的标题、作者和修改 时间,w e b 文档的版权和许可信息,某个被共享资源的可用计划表等。然而,将 “w e b 资源( w e br e s o u r c e ) ”这一概念一般化后,r d f 可被用于表达关于任何可 在w e b 上被标识的事物的信息,即使有时它们不能被直接从w e b 上获取。比如关于 一个在线购物机构的某项产品的信息( 例如关于规格、价格和可用性信息) ,或 者是关于一个w e b 用户在信息递送方面的偏好的描述。 r d f 用于信息需要被应用程序处理而不是仅仅显示给人观看的场合。r d f 提供 了一种用于表达这信息、并使其能在应用程序间交换而不丧失语义的通用框 架。既然是通用框架,应用程序设计者可以利用现成的通用r d f 解析器( r d f p a r s e r ) 以及通用的处理工具。能够在不同的应用程序间交换信息意味着对于那 些并非信息的最初创建者的应用程序也可利用这些信息。 对资源的描述是领域和应用相关的,比如对一本书的描述和对一个w e b 站点 的描述是不一样的,即对不同资源的描述需要采取不同的词汇表。因此r d f 规范 并没有定义描述资源所用的词汇表,而是定义了些规则,这些规则是各领域和 应用定义用于描述资源的词汇表时必须遵循的。当然,r d f 也提供了描述资源时 具有基础性的词汇表。 简单而言,一个r d f 文件包含多个资源描述,而一个资源描述是出多个语句 构成。一个语句是由资源、属性类型、属性值构成的三元体,表示资源具有的一 个属性。资源描述中的语句可以对应于自然语言的语句,资源对应于自然语言中 的主语。属性类型对应于谓语,属性值对应于宾语。由于自然语言的语句可以是 被动句,因此前面的简单对应仅仅是一个概念上的类比。例如:t h ed e v i c e s u p p o r t sg r p s 对应的主语、谓语和宾语如下: s u b j e c t :t h ed e v i c e 南京邮电学院硕士学位论文 第二章x v l 基础技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店员工合同范本模板
- 礼服闲置收购合同范本
- 演出赞助协议合同范本
- 美容店长聘用合同范本
- 数学沪科版19.2 平行四边形教学设计
- 物业小改工程合同范本
- 滋补药品买卖协议合同
- 2. Flood!教学设计-2025-2026学年小学英语6b典范英语(Good English)
- 社保委托代理合同范本
- 物业出租楼梯合同范本
- 山西省垣曲县垣曲县马家庄中意铁业有限公司铁矿矿产资源开发利用和土地复垦方案
- 黄山市泓翔科技有限公司年产10000t氨基硅油乳液、7000t油剂、6000t硅橡胶项目环评报告书
- 威海南海新区污水排海工程海域使用论证报告书
- JJG 596-2012电子式交流电能表
- GB 1589-2016汽车、挂车及汽车列车外廓尺寸、轴荷及质量限值
- 优秀个人简历模板可直接下载使用(word版)
- 施工组织 题库(长沙学院,肖婧)
- 超星尔雅学习通《电影与幸福感》章节测试含答案
- 员工的自我赋能培训教学课件
- 四年级上册美术教案-第1课 识别公共标志|冀美版(2014秋)
- 高中数学 对数函数的概念(第一课时)课件
评论
0/150
提交评论