(计算机应用技术专业论文)基于xml的web信息自动发布技术的研究.pdf_第1页
(计算机应用技术专业论文)基于xml的web信息自动发布技术的研究.pdf_第2页
(计算机应用技术专业论文)基于xml的web信息自动发布技术的研究.pdf_第3页
(计算机应用技术专业论文)基于xml的web信息自动发布技术的研究.pdf_第4页
(计算机应用技术专业论文)基于xml的web信息自动发布技术的研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

北方工业大学硕士学位论文 摘要 随着网络的迅猛发展,i n t e r n e t 在人们生活中占据越来越重要的地位,企业 信息发布系统的出现,更为企业注入了新的生机和活力,企业可以通过它发布 自己企业的各种信息。 然而目前信息发布技术基于h t m l 页面,并未真正的实现内容和表现的分 离,这样的发布系统存在着开发效率低、灵活性差、可扩展性差、维护升级困 难等问题。 随着x m l 和相关标准的定型,已经有了相当成熟的基于x m l 的发布框架,较好的解 决了传统的基于h t m l 的w e b 发布框架的一些不足。在这个背景下,本文研究w e b 信息自动发布技术,分析了现有w e b 信息发布技术的不足,对x m l 、x s l 等技术进行 了理论研究。在此基础上,结合流行的系统开发工具j b u i l d e r 、开发语言j a v a 、帆 技术的应用和微软的s q ls e r v e r 数据库的使用,实现了基于x m l 的信息自动发布系统, 使站点的开发变的高效、灵活,使生成的站点基于新的发布框架,可复用性强。 关键词:w e b 信息发布,可扩展标记语言,可扩展样式单语言 北方工业大学硕士学位论文 t h er e s e a r c ho ft h ea u t o m a t i c a l l yw e bi n f o r m a t i o ni s s u i n g t e c h n o l o g yb a s e do nx m l a b s t r a c t n o w a d a y s ,w i t ht h er a p i dg r o w t ho fn e t w o r k ,i n t e r n e to c c u p ym o r ea n dm o r e i m p o r t a n ts t a t u si np e o p l e sl i f e ,t h ea p p e a r a n c eo fw e bi n f o r m a t i o ni s s u i n gs y s t e m h a v ei n je c t e dn e wl i f ei n t oe n t e r p r i s ee v e nm o r e ,e n t e r p r i s ecani s s u ev a r i o u sk i n d s o fi n f o r m a t i o nt h r o u g hi t b u t ,t h ei n f o r m a t i o ni s s u i n gt e c h n o l o g ye x t e n s i v e l yi sb a s e donh t m lp a g e a tp r e s e n t ,a n dt h i ss o l u t i o ncann o tr e p a r t e et h ew e b s i t e sc o n t e n tf r o mt h e i r d i s p l a ys t y l e s u c hi s s u i n gs y s t e mh a sb a de x p a n s i b i l i t y ,l o we f f i c i e n c y ,a l s oh a s q u e s t i o n ss u c ha scann o tm a i n t a i na n du p g r a d ee a s i l y a st h ef i n a l i t yo fe x t e n s i v em a r kl a n g u a g e ( x m l ) c r i t e r i o na n do t h e rr e l e v a n t c r i t e r i o n ,w ea l r e a d yh a v eq u i t er i p ei n f o r m a t i o ni s s u i n gf l a m eb a s e donx m l t e c h n i q u e t h i sr e s o l v e sal o to fq u e s t i o n sw h i c hi nt h et r a d i t i o n a lw e b i n f o r m a t i o ni s s u i n gf r a m e i nt h i sb a c k g r o u n d ,w er e s e a r c h e st h ea u t o m a t i c a l l y w e bi n f o r m a t i o ni s s u i n gt e c h n i q u e ,a n a l y z e se x i s t i n gt e c h n o l o g y ,a n dr e s e a r c h e s p r i n c i p l ea n d c h a r a c t e r i s t i co fx m la n dx s l t ,d e s i g n sas y s t e mt h a tcan a u t o m a t i c a l l yb u i l d i n g aw e b s i t e ,m a k e sd e v e l o p m e n to fw e bs i t eh i g h e f f i c i e n c y ,a g i l i t y ,a n dt h ew e bs i t et h a tb u i l db yt h es y s t e ma r eb a s e do nt h en e w i s s u i n gf r a m e ,h a sah i g hr e p e a t e d k e yw o r d s :x m l ,x s l ,w e bi n f o r m a t i o ni s s u e s 2 一 北方工业大学 v 7 5 2 6 f 1 7 盐簋扭廑旦堇盔 ,学科 学科带头人( 签字) 兰磊丝血 疹r 年厂月孑日 学位论文任务书 研究牛:申世哲 信息王程学院 盐篁扭廑旦堇盔 专业 圆终曼塑堡庄 研艽方向 论文题目: 基王嚣丛l 的型e 娶值垦鱼垫筮壶垫查的班窒 ( ! q q ! 年l 月! ! 日经院学术委员会批准) 选题的来源、意义和价值:望型塑壁釜星i 卫生理丛土廑厦量盘亡运的厦釜:圈塑盗麴 圆土屋丞! 童逋塑经萱笪虫! 坠! 是型旦旦堡童涯塑组织篮息趁圭要丝基! 丛面旦煎殴圆 塑的建遮丛建篮立式塑撞查塞现土壑直堡盍的旦阻壁! 盐过鲨登理丛! 奎塞握出基王 墨丛坠笪塑垦篮皇自麴筮查堇查焦叟堕篮宣筮壶壹囱鱼塾塑自助! 通过这弛堇查亘燮 壹筮! 迭量鲤生盛二仝丝蕉查篮皇盘圭翌旦丝宝整鲍圆堂! 学位论文工作自2 q q 垒年l 月 ! ! 日起 至2 0 0 5 年5 月1 5 日止 呈交学位论文日期 2 0 0 5 年星一月l 日 答辩日期! ! ! 年 月一3 1 日导师( 签字) : 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北方工业大学或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示谢意。 学位论文作者签名:l 彳堪笼筝字日期:州年j 月8 日 学位论文版权使用授权书 本学位论文作者完全了解j e 友王些盔堂有关保留、使用学位论文的规定,有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权j g 直王些盍堂可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: l ? 皑久 导师签名:破旬 签字日期:川年岁月巧日签字日期脚 j _ 月钿 学位论文作者毕业后去向 工作单位: 通讯地址: 电话: 邮编: 北方工业火学硕士学位论文 第一章绪论 1 1 课题目的和意义 随着互联网的高速发展与普及,人类社会正经历着一场信息技术的革命。 这场革命,建立了以互联网为依托的虚拟现实空间。在这个虚拟现实空间中, 无地域差别,无时间限制。政府、企业、教育等诸多行业需要通过网络进行有 效地组织、整合和利用各种信息资源。信息从组织到充分的分析和利用的全过 程的效率如何,某种程度上决定了这个单位的驾驭信息能力或者说是竞争能力 的强弱。网站作为网上展示、交流和经营的中心,是利用网络资源和组织信息 的主要形式,企业可以通过它发布自己企业的各种信息。 然而目前信息发布系统的功效能否得到全面的发挥,还很大程度依赖企业 内部的专业计算机技术人员的开发和维护。从建设方式上来说,如何在有限的 人力、物力、财力范围之内,以最快的速度构建起一个企业级的网站,如何减 少日后的网站维护成本、降低网站维护难度;从技术实现上来说,如何保证现 有的信息资源直接被吸纳到网站当中去,如何实现程序员同页面设计人员分工 的分离,是目前电子商务和电子政务对于网站建设所提出的新的要求。 网站从技术上讲是w e b 应用系统,而它涉及到的主要问题就是w e b 信息 的发布问题。目前广泛使用的信息发布技术基于h t m l 页面,并未真正的实现 内容和表现的分离,这样的发布系统存在着可扩展性差,维护升级困难等问题, 于是人们已经在探索一种更好的w e b 发布框架。随着x m l 和相关标准的定 型,已经有了相当成熟的基于x m l 的发布框架,较好的解决了传统w e b 发布 模型的些不足。但这种基于x m l 的信息发布框架只是一个框架,也可以说 是一个标准,并没有从根本上解决建站困难的现状,仍然需要专业的计算机技 术人员在这个框架下进行网站的开发和维护( 1 j 。 针对以上情况,课题研究了在w e b 环境下发布各种信息( 图片,文字,表 格等) 的一种软件自动生成技术。其实现思想是将网站要表现的信息与网站构 架和表现模板分离开,网站固有的内容自动生成,而网站的风格、页面以及页 北方工业大学硕士学位论文 面的内容通过软件的人机交互界面生成。从而达到使用者不用设计和编程就能 生成一个以发布信息为主的完整的网站,并且使通过w e b 信息自动发布系统 得到的网站能够满足新的基于x m l 的w e b 信息发布框架,然后通过将网站 数据传输到w e b 服务器上,使用者通过浏览器能够访问该网站。 1 2 国内外研究状况和进展 伴随着i n t e r n e t 的迅速发展壮大,网络是人们必不可少的工具,而网络浏 览器是人们通过i n t e r n e t 获取信息的必须途径。随着新型浏览器的不断出现, 要求我们能将i n t e r n e t 上的各种信息以不同的形式表现。越来越多的人关注这 种需求,也取得了一定的发展,新的基于x m l 的w e b 信息发布框架就是在 这种背景下产生的。 由a p a c h es o f t w a r ef o u n d a t i o n 用纯j a v a 技术丌发的c o c o o n 是一个成功的 基于x m l 的w e b 信息发布框架的产品,依靠w 3 c 的d o m 、x m l 、x s l 等 技术来实现,解决了以不同表现形式发布信息的问题。c o c o o n 是a p a c h ex m l p r o j e c t 的8 个子项目之一,与1 9 9 9 年1 月正式启动,2 0 0 1 年6 月,c o c o o n l 8 2 正式发布,成为第一代c o c o o n 产品。但因为它基于d o ml e v e l1a p i ,在速 度方面、内存的有效利用方面都有很大的限制,后来a p a c h e 对其代码进行了 重写,处理模式由d o m 迁移到了s a x ,大大提高了运行的速度和内存的利用 效率,对于大量文档的处理具有很强的伸缩性,极大的提高了w e b 站点的运 行效率,称为c o c o o n2 系列。2 0 0 1 年9 月2 5 日,c o c o o n 2 0 r c l a 正式提供 下载。 c o c o o n 解决了如下两方面问题: 1 :清晰的分离了w e b 站点的内容层( c o n t e n t l a y e r ) 、样式表现层( s t y l e l a y e r ) 、逻辑层( l o g i cl a y e r ) 、管理层( m a n a g e m e n tl a y e r ) 。 2 :起到数据映射的作用,为不同的对象之间交换数据提供中介。 在国外已有一些基于c o c o o n 的网站如:! ! ! 垃;纽堕婴:z 照:s q :z 4 、 h t t p :w w w s t o n e s e e k e r c o m 等【2 1 。 北方工业大学硕士学位论文 1 3 论文各部分的主要内容 本课题主要研究w e b 信息自动发布技术,并在此基础上实现一个功能完 整的应用系统。 首先在“第二章w e b 信息发布技术研究”中详细介绍了w e b 信息发布的概 念和目前的两种w e b 信息发布的模式,讨论w e b 信息发布的基本组织及体系结构, 比较各种发布模式的优点和不足,从而提出基于x m l 的w e b 信息自动发布的工作 模型,如图1 一l 所示: 渤 薯 | - e b s t t e l , 圆 使 发 l - e b s i t e i 用 布 1 - e bs i t ei 囝 - e b 信息 l - e bs t t e 用户 自动发 v e bs e r y e r 布系坑 图1 一l信息自动发布工作模型 由于x m l 及相关技术是课题提出的基于x m l 的w e b 信息自动发布技术的基 础,在“第三章x m l 相关技术研究”中对本w e b 信息自动发布系统( w e b p u b 信息自动发布系统) 进行设计实施所需的关键技术x m l 技术、x s l 技术等进行 了阐述。 课题最终应用这个信息自动发布模型,实现了基于x m l 的w e b 信息自动 发布系统。这个系统的实现使用了j a v a 技术,j 2 e e 是课题实践的软件平台, 在“第四章系统软件平台”中对j 2 e e 平台进行介绍。 在“第五章w e b p u b 系统设计与实现”中介绍了课题的实施部分。对系统采 用的开发模式,系统的详细设计结构和应用设计模式的实现给出了详细的叙述,最后 以通过本系统生成一个站点为例,给出了本系统的运行模式和实验结果。 3 北方工业大学硕士学位论文 第六章是本文的结论部分。 4 北方工业大学硕士学位论文 第二章w e b 信息发布技术研究 为了更好的研究w e b 信息自动发布技术,设计出良好的自动发布模型, 就需要对w e b 信息发布技术有一个概念上的把握。在本章,对w e b 信息发 布技术的发展做一个概述,并对两种成熟的w e b 信息发布框架进行比较。 2 1w e b 信息发布技术的发展 网站作为网上展示、交流和经营的中心,是充分利用网络资源的最有效的 形式之一。网站本应该像电子邮件一样普及甚至取代电子邮件,但前提是网站 可以像电子邮件一样能方便地申请、使用和管理。从现实情况看,网站一直没 有充分发挥其应有的作用,是因为在其建设以及维护中所遇到的种种困难。网 站从技术上讲是w e b 应用系统,而它涉及到的主要问题就是w e b 信息的发布 问题。w e b 信息发布技术在其发展过程中,经历了以下几个阶段: 第一阶段:手工编写h t m l 模式,这种工作模式效率低、重复劳动量大, 建立的网站不易维护。 第二阶段:数据库和动态网页编程相结合的模式,这种工作模式是通过 c g i 程序员配合网页设计人员设计好的页面编写程序,来进行信息的发布。 c g i 程序员常常会周旋于大量的网页和程序之间,而网站建设完成以后,网站的 管理员很大程度上是作为排版者和程序员存在的,形式和内容混杂在一起,使 真正的使用者( 如市场人员和业务人员) 无法直接管理网站。发布信息只能通 过专业人员来间接进行,而专业人员对这种烦琐无趣的日常更新也相当厌烦, 所以常常会出现网站仅仅作为一个门面的尴尬状况,无法取得应有的效果。 第三阶段:数据库、发布系统和静态页面相结合的静态预发布的模式。 在静态预发布模式中由编辑发布系统来动态的完成网页编辑,把生成的静态网 页提交到w e b 服务器供用户访问。这个阶段在发布系统中引入了模板的概念, 结合数据库安全、检索快和管理维护方便的优点以及静态页面可快速发布的特 征,保证了发布系统和w e b 服务器的隔离,不仅适合于发布系统和w e b 服务器在 同一地点的情况,也适合远程托管服务,是w e b 信息发布的新的阶段【3 】。 5 北方工业大学硕士学位论文 在静态预发布模式中利用各种技术手段将网页上的某些需要经常变动 的信息,类似新产品发布和业界动态等更新信息集中管理,并通过信息的某些 共性进行分类,最后系统化、标准化发布到网站上,从而使网站的更新速度大 大缩短。 静态预发布模式带来了网站建设的新的阶段,起着里程碑式的意义,有了 一定的w e b 信息发布自动化的味道,是今后发展的趋势。但目前应用静态预 发布模式构建网站,多是基于传统的h t m l 技术,还有很多不足,下一节,我 们通过对两种w e b 信息发布框架的比较,进行更详细的讨论。 2 2 两种w e b 信息发布框架的比较 上一小节,我们从w e b 信息发布技术的角度对几种建站技术进行了比较, 本小节我们从w e b 信息发布框架的角度,对传统w e b 信息发布框架和基于 x m l 的w e b 信息发布框架进行比较,论证了基于x m l 的w e b 信息发布框 架的优点。所谓w e b 信息发布框架,就是指w e b 内容的创建方式、发布方 式与提供服务的方式。 2 2 1 传统w e b 信息发布框架 传统的w e b 信息发布框架,也就是目前在互联网上所广泛使用的基于 h t m l 的信息发布框架。我们主要讨论这种信息发布框架服务器端如何响应客 户端的请求。 服务器端响应客户端的请求可以分为两种情况:1 、服务器端使用静态的 h t m l 文件来响应客户端的请求;2 、服务器端使用j s p 或a s p 等s e r v e r p a g e s 技术产生动态内容页面响应客户端的请求。 第一种情况如图2 1 所示: 6 北方工业大学硕士学位论文 ! h t t p r e q u e s t n e e dh t m l h t t p r e s p o n s e r e t u 。nh t m l 图2 。1 传统w e b 信息发布框架服务器端响应客户端请求( 1 ) 在上图的情况下,客户端向服务器端发送h t t p 请求,索取静态的h t m l 文件,服务器端向客户端发送h t t p r e s p o n s e ,返回客户端所需的h t m l 文件, 客户端利用浏览器浏览此h t m l 文件。这种客户端与服务器交互的方法仅仅适 用于那些信息更新较慢,不需要实现电子商务的小型站点,如个人主页等等。 如果大量的需要频繁更新的信息需要发布到网络中,或者需要实现在线交流的 功能,那么这种方法就不能满足要求了【“。 从而出现了第二种情况即服务器端使用j s p 或a s p 等s e r v e r p a g e s 技 术产生动态内容页面响应客户端的请求。如图2 2 所示: 图2 2 传统w e b 信息发布框架服务器端响应客户端请求( 2 ) 在这种情况下,客户端仍然向服务器发送h t t p 请求,只不过客户端请求 的不再是静态h t m l 文件,而是一些s e r v e r p a g e s ,例如:a s p 、p h p 、s e r v l e t 、 7 北方工业大学硕士学位论文 j s p 等等。服务器并不是直接将这些程序的源代码返回给客户端,而是将客户 端的请求转发给一个s e r v e rp a g e se n g i n e ( 艮务器页面引擎) 中,由s e r v e rp a g e s e n g i n e 解释执行相应的s e r v e rp a g e s ,最后将s e r v e rp a g e s 的执行结果直接返 回到客户端。s e r v e rp a g e s 的执行结果通常是一个普通的h t m l 文件,这样客 户端的浏览器可以直接浏览s e r v e r p a g e s 的执行结果,而不会看到s e r v e r p a g e s 的源代码【5 】。s e r v e rp a g e s 技术的出现,使得w e b 站点的结构性和动态性有了 很大的改善,性能也大大提高了。应用s e r v e rp a g e s 技术与数据库技术,我们 可以很容易地实现大量的、需要频繁更新的信息的发布,在线交流功能的实现 也成为了可能【6j 。 传统的s e r v e r p a g e s 技术虽然很完善,但是还有很大的缺陷,最突出的问 题是很难实现对不同客户端设备的普遍支持。例如,我们采用j s p 技术构架了 一个专门针对p c 机用户的网站,j s p 程序的输出结果是普通的h t m l 页面, 只能够使用p c 机上的w e b 浏览器来浏览,没有办法支持w a p 手机上的微浏 览器。如果我们需要吸引使用移动设备上网的用户,就不得不重新开发一个专 门针对w a p 手机的网站,这时的输出结果必须是普通的w m l 页面。 但是目前随着信息技术的不断发展,出现了信息的多种浏览方式。我们如 何让只支持p d f 格式的客户端和只支持x h t m l 文件的客户端浏览信息呢? 对 于只支持s v g 文件的客户端又该如何呢? 针对如此多样化的客户端环境我们 是否需要完全重新开发一个不同的网站? 这就是传统的w e b 信息发布框架所 无法解决的问题,也是和新一代w e b 信息发布框架最显著的不同,在下一小 节讨论新的w e b 信息发布框架时,我们还将讨论到。 总之,随着网站越来越庞大,结构越来越复杂,管理也越来越困难,面对 的客户端设备类型越来越多,这种传统的w e b 信息发布框架越来越不满足人 们的需要了i ”。 2 2 2 基于x m l 的w e b 信息发布框架 随着信息技术的发展,基于网络浏览信息的客户端设备有很多,并正在快 速发展中,例如移动电话,其增长速度甚至超过了互联网的发展速度。针对这 8 北方工业大学硕士学位论文 种现状,基于x m l 的w e b 信息发布框架改变了w e b 站点的创建方式、提供 服务的方式。下面也主要讨论服务器端是如何响应客户端的请求的。 一、 这种新的w e b 信息发布框架的信息发布方式如图2 - 3 所示: 图2 3 基于x m l 的w e b 信息发布框架1 2 1 在如上图所示的基于x m l 的w e b 信息发布框架中,服务器端对客户端 的访问要求的处理和传统的信息发布框架是很不同的,x m l a p p l i c a t i o ns e r v e r 和传统的w e b 服务器采用的是完全不同的方法,这是由x m l 文档和h t m l 文档本身的不同特性所决定的。x m l 文档是一种以数据为中心的文档,x m l 文档本身没有格式化的信息、通过特定的x s l 或c s s 来表现,数据和表现是 分离的。在用户提交请求后,x m la p p l i c a t i o ns e r v e r 对内容和形式进行分别 处理,并将他们结合后,才将最终结果发布给用户。它的优点是能够对不同的 w e b 浏览设备提供各自对应的格式文档,而不需要人工的干涉。 基于x m l 的w e b 信息发布框架中服务器端对客户端的访问要求的处理 也相应的可以分为两种情况:1 、静态内容的响应;2 、动态内容的响应。 基于x m l 的w e b 信息发布框架可以针对不同的客户端设备应用不同的 样式单文件,例如在一个大型网站中,允许基于同一个内容文件,输出w m l 页面或者是h t m l 页面,还可能是x h t m l 页面等等。基于x m l 的w e b 信 息发布框架处理客户端所需要的x m l 内容文件,产生新的x m l 文件以及相 应的x s l 文件,这是由x m l 内容文件产生h t m l 页面的标准方法。 9 北方工业大学硕士学位论文 在传统的w e b 信息发布框架中,通过使用s e r v e rp a g e s 技术,来实现发 布动态内容,这种技术中页面内容和程序逻辑往往混合在一起,在每个s e r v e r p a g e s 中,静态的w e b 内容和程序逻辑代码混合在一起,共同发挥作用,根据 运行时刻的情况或者用户输入的参数,产生最后的结果。在基于x m l 的w e b 信息发布框架也出现了支持产生动态内容的技术,通过使用目前很流行的t a g l i b r a r y 技术来将x m l 元素映射为预定义的处理器指令或者程序逻辑,这样 这种框架实现了静态内容存放在x m l 内容文件中,将显示样式和程序逻辑放 在转换层,确保三者完全分离以便于管理。 目前,信息在现代社会中的重要性毋庸置疑,而现今大量的数据夹扎在 h t m l 页面中,使得这些数据无法或不能充分的发挥作用,这样的数据也就无 法称之为信息。当我们希望对站点中的数据进行近一步处理和分析时,传统的 w e b 信息发布框架下的站点就没有这种能力了。而新的基于x m l 的w e b 信 息发布框架下的站点的数据完全在独立的x m l 文档中,这些文档完全基于数 据,被重新加工处理的容易程度大大增加。 以上我们讨论了传统的w e b 信息发布框架和基于x m l 的w e b 信息发布 框架,可以看出新的基于x m l 的w e b 信息发布框架更加适应信息社会的发 展。首先,使得站点获得了非常灵活的可扩展性;其次,有利于网站建设商降 低劳动力成本。 2 3 ,j 、结 这一章,主要探讨了w e b 信息发布的种种问题,包括w e b 信息发布技 术的发展历史和两种w e b 信息发布框架。通过系统的了解w e b 信息发布的 发展历史和比较了w e b 信息发布的主要框架形式后,我们看出了今后w e b 信息发布的发展趋势,那就是数据库、发布系统和静态页面相结合的静态预发 布的模式和基于x m l 的w e b 信息发布框架的结合。通过静态预发布的模式, 可以大大的降低站点开发的成本,使得一个企业无须专业的计算机人员也可以 生成自己的站点,使用者不用设计和编程就能生成一个以发布信息为主的完整 的网站;而基于x m l 的w e b 信息发布框架则提供了更加灵活的适应性,使 1 0 北方工业大学硕士学位论文 得网站具有更强大的生命力,并更进一步的降低了维护站点的成本。 基于以上的讨论,课题在静态预发布模式的基础上,针对其不足将当前先 进的j 2 e e 技术和可扩展标记语言( x m l ) 技术融合进来,使通过系统自动生成 的站点是基于新的w e b 信息发布框架,也就是做到内容、表现方式和逻辑的 完全分离,从而达到更高的灵活性和可扩展性。 北方工业大学硕士学位论文 第三章x m l 相关技术研究 商业需求和x m l 的技术特点使x m l 迅速流行起来,并成为新一代w e b 的标准,许多软件厂商在w 3 c 制定的x m l 标准的基础上开发了大量的a p i 实现、编辑工具和应用程序8 1 。 3 1x 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 o r l dw i d e w e bc o n s o r t i u m ( w 3 c ) 带头,在1 9 9 8 年2 月成为一个正式的规范。x m l 是一 套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标 识。它也是元标记语言,定义了用于定义其他与特定领域有关的标记语言的句 法语言。 3 i 1x m l 语言的产生 近年来,随着w e b 的应用越来越广泛和深入,人们渐渐觉得h t m l 不够 用了,h t m l 过于简单的语法严重地阻碍了用它来表现复杂的形式,难以满足 不断增长的应用需求。标准通用标识语言s g m l 是一种元标识语言,能用来设 计自己的标识语言,它功能强大,能很容易的描述数据,但是其过于复杂,不 便使用。正是在这种形势下,w e b 标准化组织w 3 c 建议使用一种精简的s g m l 版本一一x m l 应运而生了。与h t m l 一样,x m l 也脱身于s g m l 语言,它 将s g m l 进行了简化,保留了s g m l 8 0 的功能,使复杂程度降低了2 0 ,虽 然与h t m l 同属于通用标记语言的一个子集,但x m l 有着巨大的伸缩性与灵 活性,丽这正是h t m l 语言所欠缺的。 与h t m l 语言相比,x m l 语言的性能有很大飞跃,它可以让信息提供者 根据需要自行定义该标识及属性名,可以包含描述法,使应用程序对文件进行 结构的嵌套可以复杂到任意程度。x m l 和s g m l 同是一种元语言,而h t m l 则不是【9 1 。 x m l 不是为了要取代h t m l 。就应用层面来看,x m l 介于s g m l 与h t m l 之间,克服了s g m l 过于复杂和h t m l 缺乏灵活的缺点。制定x m l 的目标是 1 2 北方工业大学硕士学位论文 多元化的,它的一个设计原则就是简化s g m l 并与s g m l 兼容,x m l 是以 s g m l 为目标经过简化而设计出来的,他希望软件厂商制作的x m l 解析器能 够包含所有的范畴,而使得所有的x m l 解析器都能够正确无误地解析x m l 文件。制定x m l 的第二个目标是支持多重应用领域以及易于开发相关软件。 x m l 是一种定义严谨的标记语言,文件可以被任何x m l 解析器处理而产生一 致的输出结果,只要输出是合法的,就可以被不同的应用程序所使用 1 0 l 。 3 1 2x m l 语言的特点 x m l 有以下几个特点: ( 1 ) x m l 文档是纯文本,因此可用从文本编辑器直到可视化开发环境的 任何工具创建和编辑,这使得程序可以更简单。而在需要存储大量数据的场合, 一个数据库的x m l 前端就可以满足需要,因此x m l 提供了从小配置文件到 企业级数据仓库的可扩展性。 ( 2 ) 基于内容的数据标识,因而可被不同程序用于不同目的。 ( 3 ) 可格式化。在显示形式很重要的时候,x s l 可指定如何显示数据。 由于数据和显示是分离的,甚至可以为同一数据指定不同的样式表以用于不同 输出,并很容易在将来使用新的格式进行显示。 ( 4 ) 具有很强的链接能力,可以定义双向链接、多目标链接、扩展链接和 两个文档间的链接。 ( 5 ) 易于处理。x m l 对格式的定义更为严格,并具有层次结构,处理起来 更加容易。它是与厂商无关的标准,可以任选一个解析器来处理。x m l 在采 用简单、柔性的标准化格式表达和在应用程序间交换数据方面迈出了一大步。 可以认为,h t m l 提供了查看数据的通用方法;x m l 则提供了直接在数 据上工作的通用方法。x m l 的威力在于将用户界面和结构化数据相分离,允 许不同来源的数据无缝集成以及对同一数据的多种处理。从数据描述语言的角 度看,x m l 是灵活的、可扩展的,有良好的结构和约束;从数据处理的角度 看,它足够简单且易于阅读,几乎和h t m l 一样易于学习,同时又易于被应用 于程序处理,因此,x m l 必将带来下一代网络应用技术的革命。x m l 的这些 一1 3 北方工业大学硕士学位论文 特点,使它成为了下一代互联网语言【1 1 】。 3 1 3x 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 ,文档类型定义) 或 x m ls c h e m a ( x m l 大纲) 、x s l ( 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 e ,可扩展样式 语苦) 和x l i n k ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 1 2 1 。 d t d 和x m l 大纲规定了x m l 文件的逻辑结构,定义了x m l 文件中的元 素、元素的属性以及元素和元素属性之间的关系;n a m e s p a c e ( 命名空间) 实现 统一的x m l 文档数据表示以及数据的相互集成;x s l 是用于规定x m l 文档 呈现样式的语言,它使得数据与其表现形式相互独立;而x l i n k 将进步扩 展目前w e b 上己有的简单链接。以下仅对其中的几个元素进行说明。 一:文档类型定义( d t d ) 规范的x m l 文档都必须有良好的格式,但其数据结构可以被规定,也可 以不被规定。如果被规定,那么该文档是有效的( v a l i d ) ,否则是无效( i n v a l i d ) 。 d t d 一般包括标记声明或参数实体引用,有时还包括外部实体的i d 。标 记声明可以是元素类型声明、属性表声明、实体声明或符号声明。 ( 1 ) 元素类型声明 元素是x m l 文档的基础。可以用元素类型声明和属性表声明限制x m l 文件中元素的结构。元素类型声明限制了元素的内容,通常也限定了子元素的 类型。 ( 2 ) 属性表声明 属性表声明用于定义与给定元素类型有关的属性集,它还可以指定这些属 性的类型限制并能提供缺省值。通常属性表声明紧跟在元素类型声明之后。 ( 3 ) 实体声明 从物理角度上说,x m l 的文档可以看作是实体的组合。实体声明后就可 以在其他地方引用。在解析x m l 文档时,解析器将用文本或二进制数据来代 替该实体。 1 4 北方工业大学硕士学位论文 ( 4 ) 符号声明 符号声明使用自定义的符号来识别一个外部的二进制实体格式,因此可以 把一个符号声明看作是格式声明。当然也可以将这样的声明用于其他类型的声 明。 二:x m l 大纲( x m ls c h e m a ) x m ls c h e m a 为一类文档建立了一个模式,规范了文档中的标签和文本可 能的组合形式。它不仅包括了d t d 能实现的所有功能,而且它本身就是规范 的x m l 文档。x m ls c h e m a 提供了一系列新特色,大大弥补了d t d 的不足: ( 1 ) 丰富的数据类型。x m ls c h e m a 支持的数据类型包括数字型、布尔 型、整型、日期时间、u r i 、十进制数等。而且它还支持由这些简单的类型生 成更复杂的类型。 ( 2 ) 可以由用户自定义数据类型。 ( 3 ) 支持属性分组。属性的应用范围是多种多样的,有的是针对所有元 素,有的则专门针对图形元素。 ( 4 ) 原型可以更新。d t d 定义的内容模式是封闭的,而x m ls c h e m a 定 义的内容模式是开放的,可以随时更新。 ( 5 ) 支持命名空间( n a m e s p a c e ) 。 三:可扩展样式语言( x s l ) x s l 定义了x m l 的语法规范,该语法规范将被用来把x m l 文件转换成 h t m l 、x m l 或其他格式的文档。主要由三部分组成:x s l t r a n s f o r m a t i o n s ( x s l t ) 、x m lp a t hl a n g u a g e ( x p a t h ) 、x s lf o r m m t i n g o b j e c t ( x s lf o ) 【1 3 1 。 x s l t 是一种用于对x m l 文档进行转换的语言。x p m h 主要用于对x m l 文档进行定位,由x s l t 及x p o i n t e r 使用。x s lf o 用于描述格式化信息,用 其对x m l 文件进行格式化处理,可达到定位精准、版式优美的效果。 一个x s l 样式表集合了一一系列设计规则,用于从x m l 文件中抽取信息, ,1 5 北方工业大学硕士学位论文 并将其转换成h t m l 等其他格式。这种转换采用了公开的方式,使其能够更加 方便地被程序员描述。此外,x s l 还将提供多种脚本语言转换方式,以满足更 为复杂的应用需求。 扩展链接语言( x l l ) 标准和x m l 指针语言( x p o i n t e r ) 标准是当前的工作 草案。x l l 提供类似与h t m l 的链接,但功能更强大。例如,链接可以是多 方向的,可以存在于对象上而不仅仅是页面上。 由以上的介绍可见,x m l 是面向数据的语言,这种特性使它适合作为站 点内容数据的载体,那数据如何显示呢,下面一节介绍x s l 技术。 3 2x s l 技术的应用 在上节,我们对作为x m l 的元素之一的x s l 进行了描述,但基于x s l 的重要性,我们单独拿出一节对x s l 进行更详细的描述。 3 2 1x s l x s l 是基于两项较老的技术,即d s s s l ( d o c u m e n ts t y l es e m a n t i c sa n d s p e c i f i c a t i o nl a n g u a g e ,文档样式语义和规范语言) 以及c s s ( c a s c a d i n gs t y l e s h e e t s 级联样式表) 。x s l 最早在1 9 9 7 年提交给w 3 c 组织时就是为了提供一 种对x m l 数据进行格式化的手段【1 4 l 。对x m l 进行格式化的过程包括下述内 容: 1 、 用来指定使用源文档的哪一部分的方法。 2 、 为了得到理想的输出文档,用来描述对被使用的源数据进行何种操 作的方法。 3 、 将命令结合到输出文档中去的方法。 在x s l 的三个分支x s lt r a n s f o r m a t i o n s ( x s l t ) 、x m lp a t h l a n g u a g e ( x p a t h ) 、x s lf o r m a t t i n go b j e c t ( x s lf o ) 中,x s l t 在本课题中使用 较多,下面对它进行较为详细的描述。 3 2 2x s l t 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 ) 是x s l 的重要组成 1 6 北方工业大学硕士学位论文 部分。根本上讲x s l t 是一种用来转换x m l 文档结构的语言。 x s l t 是操作x m l 数据的高级语言,它包含一组单元以及函数,用于完成 诸如复制一个单元、将文本内容或属性值抽取到输出文档中,以及输出一个节 点的排序列表等任务。如果说x m l 是保存数据的仓库,那么x s l t 这种语言 就是打开仓库的钥匙。 x s l t 与x m l 的关系,就好像是s q l 与表格化数据的关系一样。关系模 型的强大功能并非来自用表存储数据的思想,而是源于s q l 中可行的基于关 系运算的高级数据操作。同样,x m l 的层次化数据模型对应用程序开发者的 帮助实际上也非常小。正是因为x s l t 作为x m l 数据的高级操作语言提供了 如此强大的功能。 3 2 3x s l t 的角色和优点 x s l t 的最初目的是将信息内容与w e b 显示分离。如其最初定义那样, h t m l 通过按抽象概念( 如段落、重点和编号列表) 定义显示来实现设备独立性。 随着w e b 变得越来越商业化,出版人希望其输出质量能达到与印刷品相同的 质量。这逐渐导致越来越多地使用具体显示控件,如页面上材料的明确字体和 绝对位置。然而不幸盼是完全可以预料其副作用,即将相同的内容传递到替代 设备,如数字电视机和w a p 电话( 印刷业的行话再现效果) 将会变得日益困难。 这就需要其它一些机制来告诉系统如何在浏览器屏幕、电视机、w a p 电话或 真正在纸张上显示数据。这就是使用样式表的目的。样式表是一组说明性的规 则,它定义了应如何表示源文档中标记标识的信息元素。 w 3 c 己经定义了两个系列的样式表标准。第一个是在h t m l 中广泛使用 的c s s ( 级联样式表) ,当然它也可以在x m l 中使用。 c s s 是为w e b 文档增添样式( 字体,颜色,空位等) 的一种简单的机制。但 是,c s s 不能执行计算、重新整理或排序数据、组合多个源码中的数据或根据 用户或会话的特征个性化显示的内容。c s s 语言的功能还不够强大,不能处理 这项任务。由于这些原因,w 3 c 着手开发更强大的样式表语言x s l ( 可扩展 样式表语言) ,并采纳了s g m l 社区开发的d s s s l ( 文档样式、语义和规范语 1 7 北方工业大学硕士学位论文 言) 中许多好的构思。x s l 是对c s s 语言的扩展,但它的功能比c s s 语言强 大的多。 在x s l 的开发过程中( 这在d s s s l 中已有预示) ,发现在准备x m l 文档 以备显示的过程中执行的任务可以分为两个阶段:转换和格式化。转换是将一 个x m l 文档( 或其内存中的表示法) 转换为另一个x m l 文档的过程。格式 是将己转换的树形结构转换成两维图形表示法或可能是一维音频

温馨提示

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

评论

0/150

提交评论