已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 论文题目: 专业: 硕士生: 指导教师: 基于x m l 的界面自动生成技术研究和应用 计算机软件与理 郭庆华( 签名) 朱战立( 签名) 摘要 用户界面的设计在软件开发中变得越来越重要,同时也变得越来越复杂,成为制约 软件开发效率提高的一个重要因素。如何处理用户界面开发中存在的工作量大、设计复 杂而导致的程序代码庞大的闯题,对于减少应用开发人员的工作量和提高工作效率有重 要的意义。自x m l 发布以来,已广泛应用到各个领域中去。x m l 具有可读性、便于信 息检索、跨平台性、面向对象等优点。本文讨论基于x m l 的界面自动生成技术,以及 一个实际用户界面自动生成软件工具s e h e l p e r 系统的开发。用户界面自动生成是软 件自动生成研究领域的一个分支。 本文首先详细阐述了x m l 的相关概念,以及利用x m l 技术实现界面自动生成的 基本原理。在此基础上,本文深入讨论了一个具体用户界面自动生成软件工具系统 s e h e l p e r 系统的设计。s e h e l p e r 系统的设计主要包括三大模块:1 ) 利用c i 开发环境 与n e t 反射技术开发设计软件界面模块,包括定制的工具箱、特制的属性窗口以及设计 库等;2 ) 通过序列化将定制的软件界面存储为x m l 格式文件模块,使用代码生成引擎 将用户设计区的界面生成支持x m l 的编程语言代码;3 ) 运用x m l 文档对象模型技术 载入x m l 格式文件模块,并利用界面生成引擎将存储的界面生成可以执行的界面。 关键词:x m l ;反射技术;序列化;文档对象模型 论文类型:应用研究 n 英文摘要 s u b j e c t :t h er e s e a c ha n da p p l i c a t i o no f a u t o m a t i cg e n e r a t i o ni n t e r f a c eb a s e do n x m lt e c h n o l o g y s p e c i a l t y :c o m p u t e rs o f t w a r ea n dt h e o r y n a m e :g u oq i n g h u a ( s i g n a t u r e ) i n s t r u c t o r :z h uz h a n f i ( s i g n a t u r e ) a b s t r a c t u s e ri n t e r f a c ed e s i g ni ns o f t w a r ed e v e l o p m e n ti sb e c o m i n gi n c r e a s i n g l yi m p o r t a n ta n d m o r ec o m p l e x ,i ti sa ni m p o r t a n tl i m i m df a c t o rt oi m p r o v ed e v e l o p e de f f i c i e n c yo fs o f t w a r e h o wt od e a lw i t hu s e ri n t e r f a c ed e v e l o p m e n ti s s u e st h a th u g ep r o g r a mc o d e si sc a u s e db y l a r g e ,c o m p l e xd e s i g n e r , i th a si m p o r t a n ts i g n i f i c a n c ef o rs o f t w a r ed e v e l o p e r st o r e d u c e w o r k l o a da n di m p r o v ew o r ke f f i c i e n c y s i n c ex m lh a sb e e nr e l e a s e d ,i th a sb e e nw i d e l y a p p l i e dt ov a r i o u sa r e a s x m lh a st h ef o l l o w i n ga d v a n t a g e s :s u c ha sg o o dr e a d a b i l i t y , e a s i l y s e a r c hi n f o r m a t i o n , c r o s s p l a t f o r m ,o b j e c t - o r i e n t e da n ds oo n t h i st h e s i sd i s c u s s e st h e t e c h n o l o g yo fa u t o m a t i c a l l yg e n e r a t e di n t e r f a c eb a s e do nx m l a n da na c t u a ls o f t w a r et o o l s a b o u ta u t o m a t i c a l l yg e n e r a t eu s e ri n t e r f a c e s e h e l p e rs y s t e m a u t o m a t i c a l l yg e n e r a t i o n o fu s e ri n t e r f a c ei sab r a n c ho fr e s e a r c hf i e l da b o u ta u t o m a t i c a l l yg e n e r a t i o no fs o f t w a r e t h i st h e s i se l a b o r a t e st h er e l a t e dc o n c e p to fx m l ,a n dt h eb a s i cp r i n c i p l et h a ti st ou s e t h ex m lt e c h n o l o g yt or e a l i z ea u t o m a t i c a l l yg e n e r a t i o no ft h ei n t e r f a c e o nt h i sb a s i s ,t h e p a p e rd e e p l yd i s c u s s e sas p e c i f i cd e s i g n e r - - - t o o l so f a u t o m a t i cg e n e r a t i o no fu s e ri n t e r f a c ef o r s o f t w a r ed e v e l o p m e n t ,t h a ti ss e h e l p e rs y s t e m i ti n c l u d e st h r e em o d u l e s :f i r s t ,t h eu s eo fc 捍 d e v e l o p m e n te n v i r o n m e n ta n d n e tr e f l e c t i o nt e c h n o l o g yd e s i g ns o f t w a r ei n t e r f a c em o d u l e , i n c l u d i n gc u s t o mt o o l b o x ,c u s t o ma t t r i b u t ew i n d o wa n dd e s i g n e rl i b r a r i e s ,e t c ;s e c o n d ,s p e c i a l s o f t w a r ei n t e r f a c ew i l lb es t o r e df i l eo fx m lf o r m a t i o nb ys e r i a l i z a t i o n ,t h e nu s e ri n t e r f a c ei n u s e rd e v e l o p m e n ta r e aw i l lb eg e n e r a t e dt h ep r o g r a m m i n gl a n g u a g ec o d e 、舫t 1 1s u p p o r t i n g x m l t h r o u g hu s i n gt h ec o d eg e n e r a t i o ne n g i n e ;t h i r d ,t h ef u n c t i o no f t h i sm o d u l ei st ou s eo f x m ld o c u m e n to b j e c tm o d e l ( d o m ) l o a df i l eo fx m lf o r m a t i o na n dt ou s et h ei n t e r f a c e g e n e r a t i o ne n g i n ew i l lr e a l i z et oc o n v e r tf r o ms t o r e di n t e r f a c et oi m p l e m e n t e di n t e r f a c e k e yw o r d s :x m l ;r e f l e c t i o nt e c h n o l o g y ;s e r i a l i z e ;d o c u m e n t0 b j e c tm o d e l t h e s i s :a p p l i c a t i o ns t u d y l l i 学位论文创新性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他 人已经发表或撰写过的研究成果;也不包含为获得西安石油大学或其它教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做 了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:社 日期:挫 学位论文使用授权的说明 本人完全了解西安石油大学有关保留和使用学位论文的规定,即:研究生在校攻读 学位期间论文工作的知识产权单位属西安石油大学。学校享有以任何方法发表、复制、 公开阅览、借阅以及申请专利等权利,同时授权中国科学技术信息研究所将本论文收录 到中国学位论文全文数据库并通过网络向社会公众提供信息服务。本人离校后发表 或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为西安石油大 学。 论文作者签名: 导师签名:衄 日期:趋i ! 皇:p - 注:如本论文涉密,请在使用授权的说明中指出( 含解密年限等) 。 第一章绪论 第一章绪论 1 1 论文背景及意义 1 1 1 选题背景 随着数据库技术的迅速发展,新一代的管理信息系统( m a n a g e m e n ti n f o r m a t i o n s y s t e m ,m i s ) 逐渐成熟,并且其应用已经深入到社会的方方面面。在m i s 系统的开发中, 用户界面设计是重要组成部分,当前基于模型驱动的软件开发方法日渐得到企业界的承 认,该方法也已经应用到界面开发中。为了支持软件设计的工程化方法,众多研究者已 经提出了许多高效的用户界面设计方法,尤其在基于模型的用户界面设计方面,出现了 多种界面模型以及相应的界面开发方法。如早期的u i d e 和后来斯坦福大学的 m a s t e r m i n d ,以及德国林兹大学的t a d e u s 等。界面模型主要是通过对不同抽象层 次的陈述性模型的归纳、整合来设计的,虽然支持界面的一致性和复用性,但是存在缺 乏灵活性、运行性能较差、难于使用的缺点。 近年来,随着x m l 技术的广泛应用,基于x m l 的界面自动生成技术迅速发展。x m l 是一种简单、与平台无关并被广泛采用的标准。它使用一组标记来描绘数据元素,每个 元素封装可能十分简单也可能十分复杂的数据,并且可以定义一组无限制的x m l 标 记。x m l 相对于h t m l 的优点,是x m l 将用户界面与结构化数据分隔开来。这种数据与 显示的分离使得集成来自不同源的数据成为可能。客户信息、软件界面、研究结果、图 片、病历、目录数据及其他信息都可以转换为x m l 。 采用x m l 技术开发m i s 软件的用户界面,可以使用不同的工具来处理界面开发周 期不同阶段的问题,这些工具可以共享x m l 文档中的信息。基于x m l 的界面自动生成 比基于模型驱动的软件界面更灵活多变,可同时运行不同的平台,而且对开发后的用户 界面的控制更加容易。这样必然会提高设计的重用性,保证设计开发的质量,大大缩短 开发周期。这也正是本文探讨基于x m l 的界面自动生成技术研究与应用的意义所在。 1 1 2 选题的目的和意义 用户界面是软件系统的重要组成部分,它主要负责接收用户的输入信息并显示程序 处理的结果,从某种意义上来说,界面对于用户而言就是整个软件系统。程序员往往需 要精确控制每一个控件的生成和界面的布局,这些工作占据了整个配置管理开发工作的 7 0 左右。尤其是对前台数据库字段的频繁改动,使开发人员把大量精力花费在处理这 些界面细节上。随着软件系统规模的不断扩大,开发用户界面所耗费的时间和成本也将 成倍增加,因此,怎样在较短的时间内设计出符合用户要求的用户界面,提高用户界面 的开发效率成为了应用程序急待解决的一个问题。对一个企业来说,拥有快速准确地定 位软件客户需求、缩短软件研发周期的工具软件是至关重要的,因为只有这样才能使企 业在激烈市场竞争中立于不败之地。 西安石油大学硕士学位论文 基于x m l 的界面自动生成技术,主要研究利用x m l 的技术规范、数据生成器、编 程语言组件库和界面生成引擎等来解析界面描述x m l 文档,调用编程语言的组件库构 建组件,为组件驱动相应的事件代理类,从而自动生成所需要的用户界面。 本课题期望解决用户界面开发复杂而导致的程序代码庞大的问题,期望能够减少应 用开发人员的工作量,提高工作效率,提高x m l 文档的复用性。 用户界面自动生成是软件自动生成研究领域的一个分支。用户界面自动生成技术具 有很广泛的应用背景和实际应用意义。 1 2 国内外发展现状 1 2 1 国外发展现状 1 基于模型的界面开发方法 为了支持高效用户界面的设计和开发,国外研究者提出了许多界面自动生成的方法, 主要分为:基于语言的设计工具( l a n g u a g e b a s e dt o o l s ) ,交互式图形描述工具( i n t e r a c t i v e g r a p h i c a ls p e c i f i c a t i o nt o o l s ) 和基于模型的用户界面开发环境( m o d e l b a s e du s e r i n t e r f a c ed e s i g ne n v i r o n m e n t ,m b u i d e ) 。其中,基于模型的用户界面开发环境,可以 较好地支持界面交互操作和界面布局设计。基于模型的界面开发方法研究,主要提出了 以下概念模型: ( 1 ) s e e h e i m 模型。界面的表示部分涉及界面的外部表示,界面的其他部分不能与 外部直接通信;对话控制部分指定用户和系统之间的对话结构;应用界面模型部分建立 与应用之间的通信联系,描述界面可访问的数据结构和例程,并负责调用这些例程。在 逻辑上这些部分相互之间是独立的,它们之间通过发送单词来进行通信。 s e e h e i m 模型本身是基于语言的模型,主要有词法、语法和语义三个层次。该模型 的一个显著特征是强调对话控制部分的作用。然而,在直接操作对话中,用户是与个别 应用语义对象的图形表示交互,而不是与整个应用系统对话。这意味着和个别对象相关 的语法应当包含在各个图形表示对象之中,而不是作为一个统一的独立部分,即语法应 极小化。另外,语义反馈对增加用户的参与感甚为重要。有时甚至认为词法层次的操作 也需要语义反馈,如拖动一个图形对象是一个词法操作,但倘若反馈该操作潜在的语义 效果,则用户的参与感会极大地增加。这要求语义更加贴近于表示部分。显然s e h e e i m 模型本身并不支持直接操作语法与语义的要求。 ( 2 ) m u l t r a g e n t 模型。这是一个面向对象的界面概念模型,如图1 1 所示。m u l t r a g e n t 的一个典型范例是m v c 模型。m v c 的特点是将输入和交互处理与输出显示部分分离, 以减少一方改变对另一方的影响。m v c 模型仅是一个概念模型,如何分离和通信有赖于 实现。近年来,对m v c 模型作了新改进,又出现了支持多界面的设计模式和增强的m v c 模式【1 0 1 。 2 第一章绪论 ,h 舅_ 函秭- b 即 印扛:蚺 a ,哪h 喇 p h 目嘲 d 吐弘 警血:i 囱 l | 等 n _ 埘 l o _ 畦 t d 图1 - 1 面向对象的界面概念模型 其它还有p a c 模型、a r c h 模型、w i s d m o 等早期的概念模型和用户界面开发环境, 在此不作赘述。 以上提及的概念模型,对软件界面的开发起了理论指导作用,但是并没有个很好 的实现。 2 用户界面设计工具 目前,为了提高图形用户界面的开发效率和质量,出现了三种类型的用户界面设计 工具: ( 1 ) 界面设计工具( i n t e r f a c eb u i l d e r ) 。界面设计工具对用户界面的显示元素的位 置、属性和类型给以低层次的界面描述,并提供工具箱编辑环境。具有容易使用,操作 简单的优点。主要缺点是:仅仅描述界面静态组成,不支持交互操作描述,无法支持复 杂的界面设计分析评价工具,描述使用特定程序语言描述,移植性差。 ( 2 ) 用户界面管理系统( u s e ri n t e r f a c em a n a g e m e n ts y s t e m s ) 。用户界面管理系统 是构建界面交互对话部件,使用专门语言描述对话过程的系统。有些用户界面管理系统 也描述界面表示,但是描述语言非常简单和低级。用户界面管理系统具有支持对话代码 生成、语言移植性好的优点。缺点主要是设计人员需要学习专门的描述语言,通用性差; 描述层次较低级,描述比较复杂。 ( 3 ) 基于模型的工具( m o d e l b a s e dt o o l s ) 。基于模型的界面开发方法是一种比较 新的界面开发方法。在基于模型的开发方法中,用户界面依据陈述描述模型自动生成。 陈述模型描述了用户需要执行的任务、界面显示的内容结构和布局、界面显示元素在用 户任务执行中所起的作用等。基于模型的工具有如下优点:提供功能强大的设计和运行 工具、支持一致性和复用性、支持早期概念设计、支持迭代式全过程开发过程。但是, 基于模型的工具存在着缺乏灵活性、运行性能较差、难于使用的缺点。 基于模型的工具主要有以下几种: t a d e u s ( t a s ka n a l y s i s d e s i g n e n du s e r ss y s t e m s ) 提出了结合工作流( 即任务分析) 生成用户界面代码的思想。t a d e u s 整合了以下思想:模型驱动,基于任务,以用户为 中心,面向对象的生命周期。 t e a l l a c h 是个用户界面开发环境,其特点是可以开发与面向对象数据库联系的界 西安石油大学硕士学位论文 面,主要包括三个模型:域模型、任务模型和表达模型。 m o b i d ( m o d e l b a s e di n t e r f a c ed e s i g n e r ) 是一个支持以用户为中心的用户界面开发 环境,使用基于模型的用户界面开发方法,包括用户模型、对话模型、任务模型、表示 模型和域模型。与以前的界面开发方法比,m o b i d 提出了界面模型分层的思想,还提出 了界面开发过程周期及方法。 3 有关x m l 技术的用户界面设计 国外许多研究者很早就开始着手于抽象描述方法的用户界面设计方法研究,但直至 x m l 技术被广泛应用,才意识到x m l 正是用来抽象描述图形用户界面的最佳载体。目 前很多研究者对现有具有代表性的图形用户界面描述语言进行研究,并分析了它们的优 缺点,提出了基于x m l 技术的用户界面生成方法。基于x m l 技术的用户界面生成方法 从界面组成结构出发,提出了一个与平台、语言无关的用户界面模型,提出了相应的描 述方法,并在此基础上设计了一套表达界面模型的可视组件来生成用户所需要的界面。 现在已有一些用户界面设计工具,尽管得到了一些用户的认可和好评,但未得到广 泛的应用。其主要原因是这些基于模型的用户界面设计工具没有考虑对象与对象间的关 系对界面展示形式的影响,使其处理复杂界面的能力受到了降低。国外也有一些软件公 司使用用户界面生成工具m i c r o s o f tv i s i o 来开发用户界面,该工具虽然有所见即所得的 特点,但缺点是对界面上按钮属性不能精确设置。另外,虽然m i c r o s o f t n e tf r a m e w o r k v i s u a ls t u d i o 软件也可以产生用户满意的用户界面,但是此开发环境下开发出来的用户 界面,专用性太强,不利于软件重用。 1 2 2 国内发展现状 1 9 9 7 年,王恩玺等人提出了一个用户界面开发环境的设计方案,称为u i a g s ( u s e r i n t e r f a c ea t t r i b u t eg r a m m a rs y s t e m ) ,为解决用户界面与应用语义的适当分离提供了一种 可行方案。该设计方案在图形表示的基础上,利用属性文法对用户界面进行形式化描述。 该设计方案完成了一套原形开发工具一一基于限制的交互式图形对象工具箱系统 ( c o n s t r a i n t - b a s e di n t e r a c t i v eg r a p h i co b j e c tt o o l k i t s ,c i g o t ) 。u a i g s 和c i g o t 为用 户界面的表示技术与对话控制机制提供了比较有效的解决方案,其不足在于使用属性文 法对用户界面进行形式化描述,使该工具环境的使用难度加大。 1 9 9 9 年,陈慧南提出了一个人机界面对话模型,这是一种实用界面设计方法。该 模型给出了从操作次序表达式集合到扩充的着色网对话模型,并产生可视编程环境的用 户界面原型方法。主要应用于事件驱动图形用户界面原型的自动生成。此模型形式化程 度较高,而且并未进行建模环境的实现。但它对驱动事件和用户任务的分析、对界面的 自动生成工作有所帮助。对软件界面开发起了一定作用,但是并没有一个很好的实现。 如何利用x m l 技术生成用户界面是近年来国内研究者比较关注的一个课题。虽然 国内研究起步较晚,但是2 0 0 3 年之后,也逐渐成为一个研究热点。其中较为前瞻性的研 4 第一章绪论 究方向主要有: ( 1 ) 基于x m l 的界面模板技术 界面模板的技术是基于模型的用户界面自动生成框架的一个分支。界面模板( u s e r i n t e r f a c et e m p l a t e ,u i t ) 是对用户界面的一个宏观构成、布局及风格等总体属性的描述。 其属性包括名称、输入输出类型、风格、内容类型、位置、大小等。根据界面模板定义 的特点可以看出,以x m l 文档结构树的形式容易实现界面模板的可视化处理。其原因 是:x m l 是一种在互联网上保存和传递信息的语言,以其结构化、可扩展性、灵活性等 特点广泛流行。x m l 有着极其灵活的语法,允许描述各种类型的信息。又因x m l 的平 台无关性使其成为跨平台数据表示和交换的标准。x m l 的文档结构特别适合存储界面 模板的树结构,各种元素、属性、注释等构成了x m l 文件的基本组件。元素可以嵌套, 但必须是完全嵌套。属性是为元素增加描述信息的一种机制。注释可以嵌入文档的任何 位置,但像属性一样嵌入元素中是不允许的。通过这样的语法,把x m l 文档基本上限 定为一棵特殊的文本化的树。这与界面模板的方向树结构之间有了结构上的联系。树结 构文本化之后,界面模板便可以自由地存储、交换和编辑。 建立界面模板的目的是对界面开发经验的固化,模板库便是这些固化经验的集合。 利用界面模板的表示模型,建立内部对象和外部显示元素的对应关系,在界面模板和参 数化的支持下,规划界面构成和布局,从而实现用户界面的自动生成。 ( 2 ) 基于x m l 的界面管理技术 界面管理技术包括界面配置、界面动态生成和界面定制三部分。晁面配置是对用户 界面的静态定义,通过读取配置文件的初始值对界面配置。由界面配置对软件功能进行 裁剪、重组和扩充,以实现特殊需求。界面定制是对用户界面的动态修改过程,在软件 运行过程中,用户可按需求和使用习惯,对界面元素( 如菜单、工具栏、键盘命令) 的 属性( 如文字、图标、大小、位置等) 进行修改。软件运行结束,界面定制的结果被保 存。 界面动态生成是通过d o ma p i 读取x m l 配置文件的表示层信息,自定义数据存取 类读取数据库中的数据层信息,在运行时循环生成界面元素,动态生成界面。 界面定制是利用界面和菜单功能的重新配置,通过修改m a i n u i x m l 文件实现。界面 内容的更改,通过修改x m l 节点和属性值等界面元素实现。 国内的研究者对x m l 的界面生成技术理论关注较多,而自主研发的软件产品不多, 造成这种现象的一个原因就是国外的产品比较成熟,已经形成了固定的品牌和服务,导 致国内软件公司想要进行改进或二次开发的难度比较大。 1 3 相关工作 1 3 1 理论支持 当x m l 于1 9 9 8 年2 月被引入软件工业界时,给整个行业带来了场风暴。有史以 西安石油大学硕士学位论文 来第一次,这个世界拥有了一种用来表示结构化文档和数据的通用且适应性强的格式, 它不仅仅可以用于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 文档通过d o m 编程接口来实现解析,其中d o m ( 文档对象模型) 是x m l 文档已解析版本定义的一组接口。 x m l 文档的内容可以从数据源中检索出来,也可以是数据库、x m l 文档等其它资 源。由于x m l 文档是半结构化的,所以可以通过d o m ( d o c u m e n to b j e c t m o d e l ) 、d t d 定义、数据绑定、元素模式映射、语义转换、数据集读写、面向对象建模等方法来实现 x m l 文档和其他类型文档的转换和存储,这些方法都己得到了验证和应用。再加上n e t 对x m l 的良好支持,使得基于x m l 的数据转换和编辑系统的实现有了充分的理论依靠。 1 3 2 研究内容 当前国内外大型软件公司、科研单位及大学关于界面自动生成技术的研究有很多理 论成果,并且开发出大量成熟产品。本文提出了一套基于x m l 的界面生成技术的思想。 这就需要对x m l 基础知识及相关技术有深刻的了解,因为,并且存储为x m l 文档,然 后采用d o m 技术解析x m l 文档。 本文讨论的基于x m l 的界面自动生成技术主要分为设计软件界面、代码生成和界 面生成三部分。设计软件界面是利用n e tf r a m e w o r k 的反射机制,从布局好的界面中取 出组成界面的控件属性,并以x m l 文档形式显示出来。代码生成是采用m i c r o s o f t w i n f o r m 代码模板技术来生成。界面生成是利用d o m 技术解析x m l 文档的手段来实 现。当然界面生成需要借助设计库中的x m l 良构文档。 1 3 3 技术路线 ( 1 ) 熟练掌握c 荐n e t 开发环境和x m l 的基本概念,利用n e tf r a m e w o r k 的反 射技术访问控件的定制属性、动态数组及调用方法。将数据转换为x m l 文档。利用x m l 的处理机制d o m 载入x m l 文档,调用相应的编程接口操纵x m l 文档中的各部分。 ( 2 ) 利用c 群n e t 架构中的公共控件生成定制界面,把界面上控件的所有属性( 大 小、坐标、t e x t 等属性全名、属性值) 存储于x m l 文件中。 ( 3 ) 通过代码生成引擎产生界面代码或者通过界面生成引擎产生活动界面。 6 第一章绪论 1 4 课题来源 瑞森通用软件发展公司支持的、专门为简化各类信息系统软件设计过程开发的“制 作用户界面的工具软件一s e h e l p e r 系统”项目。 1 5 论文结构 本文各章节的基本内容是: 第一章阐述了论文的写作背景、选题意义、国内外的发展现状和课题的来源,并对 本次研究的相关工作进行了简要的介绍。 第二章详细介绍了关于x m l 的理论知识,包括x m l 基本概念、x m l 技术规范、 什么x m l 文档的构成、x m l 的特点及应用开发技术,以及c 襻n e t 对x m l 的支持等。 第三章首先介绍了x m ld o m ,然后讨论了x m l 文档对象模型的核心内容,运用 x m ld o m 主要接口来创建和载入x m l 文档,接着探讨了运用x m ld o m 技术操纵和 管理x m l 文档的节点,最后介绍了通过x m ld o m 技术创建和管理节点的属性。 第四章首先对界面自动生成进行了概要设计与详细设计,明确了系统的设计目标、 功能模块、s e h e l p e r 软件的主界面和类的层次结构之间的关系,然后对界面自动生成的 关键技术的实现给出了详细的介绍,并列出了相关的核心代码。 第五章对界面动态存储功能和界面自动生成引擎功能进行了测试。 第六章对本课题的相关工作、主要成果以及创新之处进行了总结,并指出了系统的 不足之处和有待解决的问题。 7 西安石油大学硕士学位论文 第二章x m l 理论知识 2 1x m l 基本内容 2 1 1 什么是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 的缩写,即可扩展标记语言) 是w 3 c ( w o r l dw i d e w e bc o n s o r t i u m ,万维网联盟) 推出的用于新一代网络数据表示、传递和交换的标准, 是一种标记各种信息的元语言,任何类型的数据都可以在x m l 文档中被定义,其文档 以纯文本撰写且拥有树形的逻辑结构。x m l 目前已成为互联网中对各种信息进行表示、 存储与交换的主要技术手段。 2 1 2x m l 技术规范 x m l 并不仅仅包括x m l 标记语言,它同时还包括了很多相关的规范,比如文档模 式技术、文档样式技术、文档查询技术、文档解析技术、文档链接技术以及文档定位技 术等。基于x m l 的这些规范,还支持很多高层应用协议,比如s o a p ( s i m p l eo b j e c t a c c e s s p r o t o c 0 1 ) 和b i z t a l k 等。 ( 1 ) 文档模式技术: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 m l 文档的逻辑结构进行定义。x m l 文档的模式规定了x m l 文档 中的元素、属性、元素和元素以及元素和属性之间的关系。其中,d t d 来自s g m l , x m ls c h e m a 是专门为定义x m l 文档的模式而设计的,采用的是x m l 的语法。 ( 2 ) 文档样式技术:x m l 是内容( 数据) 和显示格式分离的语言,c s s ( c a s c a d i n g s t y l es h e e t s ) 和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 m l 文档显示样式的。 其中,c s s 是随着h t m l 的出现而产生的,控制x m l 文档的显示,但不会改变源文档 的结构。而x s l 是专门为x m l 设计的,不仅用来显示x m l 文档,而且可以把一个x m l 文档转化为另一个x m l 文档。 ( 3 ) 文档查询技术:w 3 c 推荐的x m l 文档的查询语言是x q u e r y l ,0 。x q u e r y 起 源于一种叫q u i l t 的x m l 查询语言,借鉴了x p a t h1 0 、x q l 、x m l - q l 、s q l 和o q l 等语言的优点。 ( 4 ) 文档解析技术:文档解析是指对x m l 文档的内容和结构进行访问和分析。文 档解析技术包括文档对象模型d o m ( d o c u m e n to b j e c tm o d e l ) 和s a x ( s i m p l ea p if o r l ) 。d o m 是一种对平台和语言中立的接口。而s a x 使用事件驱动的x m l 解析,并 不要求将整个订l 文档一起装入内存。 ( 5 ) 文档链接技术:x m l 的链接功能比h t m l 更强大,它使用x l l n k 。x m ll i n k i n g l a n g u a g e1 0 ( i l l l ( ) 是w 3 c 主导的定义x m l 链接的语法。一个x l i n k 的描述信息, 显式的指定了资源或部分资源之间的关系。在x l i n k 中,并不涉及标示不同类型数据位 8 第二章x m l 理论知识 置的方法,x l i n k 需要依靠不同的机制来标识想要链接的资源( 例如统一资源标识符) 。 w 3 c 推出了另一种叫做x m lp o i n t e rl a n g u a g e ( x p o i n t e r ) 的机制用于构造x m l 文档的 内部结构。它可以链接到个具体的对象上去,这个对象可以是一个网页、网页的一部 分、网页中的一个元素甚至是网页中某行的某几个字。 ( 6 ) 文档定位技术:x m l p a t hl a n g u a g e ( x p a t h ) 1 0 是一种用于x s l t r a n s f o r m a t i o n s ( x s l t ) 1 0 和x p o i n t e r 中对x m l 文档各部分进行定位的语言。它给x s l t 和x p o i n t e r 提供一种定位语法,用来定位x m l 文件的各个部分。 ( 7 ) 其他x m l 技术还包括: ( d m a t h m l ( m a t h e m a t i c a lm a r k u pl a n g u a g e ) 2 0 是一种用来描述数学符号、结构和 内容的x m l 应用。m a t h m l 的目标是在w e b 上实现能像h t m l 处理文本一样,处理 数学问题。 s m i l ( s y n c h r o n i z e dm u l t i m e d i ai n t e g r a t i o nl a n g u a g e ) 2 0 是一种基于x m l 的表 述多媒体演示的语言。s m i l 允许将一组独立的多媒体对象整合为一个多媒体演示。 v m l ( v e c t o rm a r k u pl a n g u a g e ) 是一种定义矢量信息编码格式的矢量标记语言, 它是x m l 在矢量信息方面的应用。v m l 所定义的编码格式连同其它的标记一起描述了 信息如何显示和编辑。 c d f ( c h a n n e ld e f i n i t i o nf o r m a t ) 允许w e b 发布者从任意的w e b 服务器经常的 更新信息或是频道,以便这些信息能从w e b 服务器自动的传送到p c 上的兼容接受程序 或是其他的信息装置上。用户仅需选择一下频道,信息就会定时地传递到客户端。 x m l 片段交互。x m lf r a g m e n ti n t e r c h a n g e 标准支持由若干实体组成的逻辑文档。 x m l 片断交互使得客户端可以不用涉及整篇文档,就能在一篇较大的文档中获得文档片 断所处的上下文信息。 x h t m l 2 0 。m a r k u pl a n g u a g e 是符合x m l 的h t m l 文档中的又一个家族。 x h t m l 文档被设计成可以和x m l 处理器协同工作。x h t m l 文档是结构良好的x m l , 可以使用标准x m l 处理器对它们进行查看、编辑或验证。 2 1 3 ) 眦文档的构造 x m l 文档由两部分组成:文档序文与文档元素。序文部分包括必须有的x m l 声明 语句以及可选的处理指令等。文档根元素则是一个可以包含多个嵌套子元素的项层元素。 整个文档以x m l 文件扩展名加以保存。下面简单探讨一下x m l 文档的构造问题。 ( 1 ) x m l 文档的声明 根据x m l 规范,每个x m l 文档必须以一个文档声明语句开头,其中有关于x m l 的版本号、所用字符集。例如: ,声明中说明了 该文档是x m l 文档版本信息,并指明了文档的编码类型为u t f - 8 。 ( 2 ) x m l 处理指令 9 西安石油大学硕士学位论文 处理指令是用来指示计算机处理的反应。其用途是为x m l 解析器提供传递给应用 软件或脚本程序的信息,也可以利用处理指令来指定应用软件处理或显示文档的方法。 x m l 解析器把这些信息原封不动地传给应用程序,由应用程序来解释这个指令,按照它 所提供的信息进行处理。处理指令可以添加到x m l 文档中任何部分,既可以出现在声 明中,也可以出现在元素内容中。处理指令的格式为: 。例如: ,内容的处理在遇到字符串? 之后立即 结束。 ( 3 ) x m l 文档元素 从语法上讲,一个x m l 元素是由一个开始标记、一个结束标记以及加在这两个标 记之间的数据内容组成。它的基本形式如下: 数据内容 。元素用于表 示x m l 文档的结构和x m l 文档中包含的数据。x m l 元素中可以嵌套子元素。没有内 容的元素称为空元素。元素的名称可以包含字母、数字、连字符、下划线和句点。它区 分大小写,必须以字母或下划线开头。绝大多数x m l 元素在标记之间通常会有一定的 内容,其内容可以是元素的数据、文本,并且该元素可以包含若干个子元素。例如: 西安位于中国的西部,是陕西省重要的政治、经济、文化的中心。 这是一个包含了属性和子元素的元素,其子元素中也包含了属性。 ( 4 ) x m l 元素的属性 在x m l 元素的起始标记中,可以包含一个或多个属性,用来对元素的特征作进一 步描述,或者用来存储和表示与这个元素相关的若干个数据。x m l 规范允许用户自己定 义元素所具有的各种属性。为元素指定属性,是另一种用来对元素附加数据的方式。一 般来说,应该将要存储的大量数据放置于元素的内容中,而将元素不同的特性数据以及 那些并不一定需要显示的资料放置在元素的属性中。属性使用等号分隔属性名和属性值, 并且包含在元素的开始标记中。属性必须有名称和值,不允许没有值的属性名,元素不 能包含两个同名的属性,属性的值包含在单引号或双引号中。属性名必须区分大小写, 并且以字母或下划线开头。属性值只能包含文本,不能包含元素标记。下面这个例子就 是一个包含了多个属性的元素: 1 0 第二章x m l 理论知识 ( 5 ) c d a t a 在x m l 元素内容的字符数据里不能直接出现“ ”、“& ”等一些特殊的字符。但 是假如x m l 文档的内容中必须包含这些特殊字符,而且还要符合x m l 的语法要求,就 需要使用c d a t a 。c d a t a 区段可以将任何字符组合包含在元素的字符数据中。x m l 解析器将所有位于c d a t a 部分中字符都看作是字符数据内容,而绝对不会将它们分析 为某个x m l 标记、实体引用或者元素属性的一部分。c d a t a 的格式为: 。利用c d a t a 的特点,可以用来处理一些脚本语言内容和h t m l 内容, 例如: ( 6 ) x m l 文档的注释 在x m l 文档中适当地添加一些有意义的注释文字,可以提高文档的可读性。x m l 处理器通常会忽略文档中的这些注释语句,不会对其做任何处理。但是可以用于在x m l 源代码中提供必要的说明。注释以“ ”,其他任何合法的 x m l 字符均可以出现在注释中,与c d a t a 非常类似。下面是一个合法注释的示例: 2 2x m l 的特点和应用开发技术 2 2 1 x m l 的特点 ( 1 ) 自描述。x m l 是一种标记语言,其内容由相应的标记来标识,具有自描述的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外国语大学房产交易合同模板
- 交通运输烟囱施工协议范本
- 农业机械焊接施工协议
- 城市绿化养护临建合同
- 洗浴中心彩绘施工合同
- 城市景观绿化监理合同范本
- 演出现场租赁协议
- 水利认证堰塘施工合同
- 临时服务中心微站租赁合同
- 江苏大学《程序设计(Python)》2023-2024学年期末试卷
- 潜油泵及潜油泵加油机讲义
- 医患沟通内容要求记录模板(入院、入院三日、术前、术后、出院)
- 航海学天文定位第四篇第6章天文定位
- 第8章 腹部检查(讲稿)
- 浅谈深度教学中小学数学U型学习模式
- 物理电学暗箱专题30道
- 湿法脱硫工艺计算书
- 江西上饶铅山汽车驾驶科目三考试线路
- 南京农业大学学生在校学习期间现实表现证明
- (医学PPT课件)NT检查规范
- 导电炭黑的用途及使用方法
评论
0/150
提交评论