




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)基于xml和动态链接库技术的虚拟仪器的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 计算机仿真就是利用计算机运算系统的数学模型来达到对被仿真系统的分 析、研究、设计等目的。大学物理仿真实验便是虚拟现实技术在教育领域应用的 实例。虚拟仪器就是利用人工智能、虚拟现实等技术,在计算机平台上对真实仪 器进行仿真。大学物理仿真实验中的虚拟仪器有很多的优点,但是也存在不易维 护、可设计性和可扩展性较差、可移植性较差等局限性。本论文旨在通过对计算 机仿真实验系统中虚拟仪器的设计和应用方面的研究,并且在此基础上设计和实 现面向对象的计算机仿真实验系统。 本论文将x m l 和动态链接库技术有效结合,用于m v c 架构的虚拟仪器设 计中,用x m l 描述虚拟仪器的界面和参数配置,通过对x m l 文档的修改和解 折实现了用户自定义界面和功能扩充,用动态链接库技术对虚拟仪器除x m l 之 外的功能和表现部分进行封装整合。本论文实现了x m l 配置程序的设计开发, 通过x m l 配置程序,可以方便的建立和修改x m l 文件,方便了虚拟仪器的开 发。 经过x m l 和动态链接库技术提高和完善后的虚拟仪器,具有很好的可移植 性。通过动态链接库的输出函数,可以在多语言下很方便的使用虚拟仪器,调用 虚拟仪器窗体和访问仪器内部参数。本文对虚拟仪器在多平台下的应用进行了研 究。 本论文采用面向对象的程序设计方法,从实验中抽象出虚拟场景对象和虚拟 仪器对象。以激光系歹6 实验为例,设计和实现了计算机仿真实验系统中虚拟 场景和虚拟仪器的建模,包括数字建模、图像建模以及两者的协调工作。本文介 绍了利用自上而下的程序设计方法实现计算机仿真实验系统的方法和技术,包括 自定义组件技术、虚拟仪器的设计实现方法和虚拟场景的设计实现方法。 本论文设计实现的虚拟仪器具有很好的安全性、可维护性、可设计性、可移 植性、可扩展性,有效地改进和完善了虚拟仅器。将虚拟仪器用在面向对象的计 算机仿真实验系统的设计和开发中,规范和完善了大学物理仿真实验的开发。 关键字:面向对象,计算机仿真,虚拟仪器,x m l ,动态链接库 a b s t r a c t a b s t r a c t c o m p u t e rs i m u l a t i o nt e c h n o l o g ya n a y l s e sa n ds e a r c h sa n dd e s i g n s t h es i m u t i o n s y s t e mb yu s i n gm a t h e m a t i c s m o d e lo f t h ec o m p u t e rc a l c u l a t es y s t e m 。t h ec o m p u t e r s i n m l a t i o ns y s t e mf o rc o l l e g ep h y s i c se x p e r i m e n t ( c s s c p e ) i sp r o d u c t i o nc o m b i n e d w i t hv i r t u a lr e a l i t ya n dc o m p u t e rs i m u l a t i o nt e c h n o l o g y 。v i r t u a i n s t r u m e n ti st h e r e s u l to fc o m p u t e rs i m u l a t i o nt e c h n o l o g yb yu s i n ga r t i f i c i a li n t e l l i g e n c ea n dv i r t u a l r e a l i t yt e c h n o l o g yo nt h ec o m p u t e rp l a t f o m 。t h e v i s t u a li n s t r u m e n ti nt h ec s s c p e h a sl o t so fe x c e l l e n c e ,b u ta l s oe x i s t ss o m el o c a l i z a t i o nt h a tn e e du st op e r f e c t 。t h i s t h e s i sr e s e a r c ht h e v i r t u a li n s t r u m e n ti nt h e c o m p u t e r s i m u l a t i o n e x p e r i m e n t s y s t e m ( c s e s ) ,d e s i g n sa n d r e a l i z e st h e0 b i e c t o r i e n t e dc s e sb a s e do na b o v e 。 t h i st h e s i sc o m b i n e sx m la n dd y n a m i cl i n kl i b r a r yt e c h n o l o g ya n du s e st h e m i n t ot h ed e s i g no fv i r t u a li n s t r u m e n tw i t hm v cf r a m e 。i td e c r i b e st h ei n t e r f a c ea n d p a r a m e t e rb yu s i n g x m l ,r e a l i z e st h ef u n c t i o no f m o d i f yi n s t r u m e n tf o v ma n d e x t e n d i n s t l u m e n tf u n c t i o nb yt h em o d i f i c a t i o na n dp a r s eo fx m l 。i tc a r r i e so u tt h e i n s t r u m e n t c o n f o f r u i t y a n dc o n s u n l m a t et h ef u n c t i o n e x t e n s i o no fv i r t u a l i n s t r u m e n t 。i ta l s od e s i g n sa p r o g r a m t h a tc a ne a s i l yc r e a t ea n dm o d i f yx m lf i l e s ,i t c a nm a k et h ed e s i g no fi n s t r u m e n te x p e d i e n t l y 。 t h ev i r t u a li n s t r u m e n t u s i n gx m l a n dd l lh a s g o o dt r a n s p l a n t a b i l i t y ,i tc a l lb e u s ei nm a n yl a n g u a g e sa n dd e v e l o pt o o l saw ec a nu s ev i r t u a li n s t r u m e n tb yu s i n gt h e o u t p u tf u n c t i o no f v i r t u a li n s t r u m e n t ,i n c l u d i n gl o a d i n g t h ef o r mo f v i r t u a li n s t r u m e n t a n dv i s i t i n gt h ei n t e r n a lp a r a m e t e r 。t h i st h e s i sa l s or e s e a r c h st h eu s e l e s so fv i r t u a l i n s t r u m e n ti nm u l t i l a n g u a g e s 。 t h i st h e s i sa b s t r a c t st h ev i r t u a ls c e n e sa n dv i r t u a li n s t r u m e m sf r o m 血e e x p e r i m e n tb yu s i n g t h et h o u g h t w a yo f o b j e c t o r i e n t e dp r o g r a m m i n g 。i td e s i g n sa n d r e a l i z e st h em a t hm o d e l i n ga n dg r a p hm o d e l i n go fv i r t u a li n s t r u m e n t sa n dv i r t u a l s c e n e s 。i ta l s oi n s t r o d u c e st h em e t h o d sa n d t e c h n o l o g y i nt h ec s e s 。 t h ev i r t u a li n s t r u m e n td e s i g n sb yt h i st h e s i sh a sg o o ds e c u r i t ya n dd e s i g n a b i l i t y a n d e x t e n s i b i l i t y a n d t r a n s p l a n t a b i l i t y ,i t i sa l s oe a s i e rt ob ee x t e n d e da n d m a i n t e n a n c e da n du p d a t e d ,i ti m p r o v e sa n dc o n s u m m a t e st h ev i r t u a li n s t r u m e n t e f f e c t i v e l y ,t h e u s eo fv i r t u a li n s t r u m e n ti nc s e sa l s os t a n d a r d st h ed e s i g no f c s s c p e 。 k e y w o r d s :o b j e c t - o r i e n t e d ,c o m p u t e rs i m u l a t i o n ,v i r t u a li n s t r u m e n t e x t e n s i b l em a r k u pl a n g u a g e ,d y n a m i cl i n kl i b r a r y 2 第一章绪论 1 。1研究背景 第一章绪论 计算机仿真就是利用数学模型采用计算机运算的数学模型来达到对被仿真 系统的分析、研究、设计等目的。随着计算机软硬件性能的不断提高,计算机图 形学和图像处理的飞速发展,可视化仿真和多媒体技术日益成熟,使虚拟现实和 教学软件得到实现。它利用计算机仿真技术将实验设备、教学内容( 包括理论教 学) 、教师指导和学习者的思考、操作有机融合为一体。 本课题通过对x m l 和动态链接库技术的研究,将二者有效结合起来,应用 到虚拟仪器的设计中,以实现虚拟仪器的功能扩充和仪器整合,建立智能化的仪 器库。在虚拟仪器的基础上,利用面向对象技术和基于虚拟现实的计算机仿真技 术,设计实现面向对象的计算机仿真实验系统。 在美国教育技术协会( a e c t ) 1 9 9 4 年对教育技术的定义中,学习资源的设计、 开发、利用、管理和评价是现代教育技术定义中新增加的一个重要内容,这是教 育技术观念的重大变革,已成为教育技术理论与实践发展的一个新趋势,对教育 资源的相关研究也已成为教育技术的一个重要课题。国家教育资源库建设的目 标,是将教育信息资源、信息技术与设施应用到教学实践中,以便更加有效地实 施素质教育。教育资源库作为各种关于教育的资源的汇集,绝不是教育教学素材、 教材的简单堆积,但是国内教育资源库的建设还是没有遵循统一的资源库设计开 发规范。而教育本身涵盖的范围极其广泛,与教育相关的资源数据量极其庞大, 不是一个资源库所能包含的,不同类型的教育资源库只能满足不同用户的需求, 开发一个大而全的教育资源库是很不现实的,原先集中管理、集中存储的教育资 源组织管理模式也已经不能适应教育的现代化、信息化发展为了更有效地建设 各级各类教育资源库,避免教育资源库低水平的重复开发建设,实现教育资源最 大范围内的共享、互访,教育资源库的建设必须标准化。 国家教育资源库物理仪器库建设的目标是建立一个智能化的物理仪器库,能 较为真实地表现出物理仪器的结构和操作,_ 并且能够提供标准化的接口,供其他 有兴趣的人在不同的软硬件环境下开发使用。无论采用何种技术,都必须满足下 面几个方面的要求: ( 1 ) 安全性。除了其在系统方面的要求外,还要求能确保除了和用户自主开 发的部分代码外的源代码不公开,保护开发者的利益。 f 2 ) 可设计性。能够根据自己使用的实际仪器设计出与之相同界面的仪器。 f 3 ) 可扩展性。能够在原有功能的基础上自主进行开发,进行仪器的功能扩 充。 ( 4 ) 易维护性。能够方便的修改和完善原有代码。 ( 5 ) 可移植性。在计算机仿真实验的编程过程中,我们采用的是o b j e c t p a s c a l 语言以及基于o b j e c tp a s c a l 的程序开发工具d e l p h i ,但是资源库的使用 者可能使用v c 、v b 等其他语言进行开发,这要求代码能够方便的在多 第一章绪论 种语言下使用。 1 2计算机仿真的当前研究状况和发展 1 2 1 计算机仿真技术 计算机仿真是通过数学模型的建立,在计算机上实现被仿真系统的分析、研 究、设计等目的。仿真技术集计算机技术、多媒体技术、通讯技术、控制技术于 一身,它能仿真出一种真实的环境,给人一种真实的感受,可辅助宇宙飞船、核 电站、飞机、轮船等大中型高精密仪器操作者训练,也可应用于我国正在兴建的 自动化物流系统等的规划、设计、模拟、演示和分析。 计算机仿真采用能够描述系统运动或运行过程的数学模型,在计算机上进行 分析计算,从而得到系统的全部特性。这种仿真技术具有速度快、精确度高、重 复性好、灵活性大、使用方便等优点,己被广泛应用于大型、复杂系统的方案设 计等。 1 2 2 大学物理仿真实验及其特点 在教育领域,虚拟现实技术具有广泛的作用和影响。亲身去经历、亲身去感 受比空洞抽象的说教更具说服力。主动地去交互与被动的观看,有质的差别。难 怪教育界的专家指出:崭新的技术,会带给我们崭新的教育思维,解决了我们以 前无法解决的问题,将给我们的教育带来一系列的重大变革。尤其在科技研究、 虚拟仿真校园,虚拟教学、虚拟实验,教育娱乐等方面的应用更为广泛性。 1 9 9 5 年,中国科学技术大学研制成功大学物理仿真实验1 0f o rd o s ) ) ,同 年通过国家教委鉴定,1 9 9 6 年由高等教育出版社出版。它是国内第一套具有一 定规模和水准的实验教学软件,也是第一套模拟型的c a i 软件。该软件通过计 算机把实验设备、教学内容、教师指导和学生的操作有机地融合为一体,形成了 一部活的、可操作的物理实验教科书。大学物理仿真实验是虚拟现实技术在 教育领域应用的实例,也是虚拟现实技术和计算机仿真技术有机结合的产物。 通过仿真物理实验,学生对实验的物理思想和方法、仪器的结构及原理的理 解,可以达到实际实验难以实现的效果,实现了培养动手能力,学习实验技能, 深化物理知识的目的,同时增强了学生对物理实验的兴趣,大大提高了物理实验 教学水平,是物理实验教学改革的有力工具。该成果1 9 9 6 年获中国科学院教学 成果一等奖,1 9 9 7 年获国家级教学成果二等奖。该软件现己在全国数十所高校 推广应用,受到学生的普遍欢迎和使用单位的好评。大学物理仿真实验2 0f o r w i n d o w s ) ) 是在原d o s 版本的基础上,经过两年多教学实践的总结,结合近两 年计算机硬、软件发展的最新技术研制开发的升级版本。该版本在教学方式的创 新、教学内容的扩展、仪器的仿真操作、图形化的人机界面等方面都有重大突破 和显著提高,1 9 9 7 年曾代表中国c a i 最新成果赴英交流展示。 大学物理仿真实验具有以下特点: ( 1 ) 增强了实验环境的模拟,使未做过实验的学生通过仿真软件对实验的整 体环境、所用仪器的整体结构能建立起直观的认识。仪器的关键部位可 2 第一章绪论 拆卸,可解剖进行调整并实时观察仪器的各种指标和内部结构的动作, 增强了熟悉仪器功能和使用方法的训练。 ( 2 1 在实验中仪器实现了模块化,学生可对提供的仪器进行选择和组合,用 不同的方法完成同一实验目标,培养学生的设计思考能力和对不同实验 方法的优劣、误差大小的比较、判断能力。 ( 3 ) 该软件通过深入解剖教学过程,设计上充分体现教学思想的指导,使学 生必须在理解的基础上认真思考才能正确操作,克服了实际实验中出现 的盲目操作和实验”走过场”现象的缺点,使学生切实受益,大大提高了 物理实验教学的质量和水平。 ( 4 ) 对实验的相关理论进行了演示和讲解,对实验的历史背景和意义,现代 应用等方面都作了介绍,使仿真实验成为连接理论教学与实验教学,培 养学生理论与实践相结合思维的一种崭新教学模式。 ( 5 ) 实验中待测的物理量可以随机产生,以适应同时实验的不同学生和同一 学生的不同次操作。对实验误差也进行了模拟,以评价实验质量的优劣。 对学生的实验报告进行数据库管理,可以存储、评阅、查看和打印。 ( 6 ) 具有多媒体配音解说和操作指导,易于使用。 ( 7 ) 本软件将计算机辅助教学中智能化仪器、计算机技术、虚拟现实技术与 物理教学有机的结合起来,使物理教学软件进入一个全新的领域。全 部都用真三维的形式进行模拟,使教学内容、实验设备、教学指导与操 作者的思考利用计算机有机的融合到了一起,且有广泛的使用价值。用 计算机模拟的智能仪器代替价格昂贵、操作复杂、容易损坏、维修困难 的实验仪器,其具有操作简便、效果真实、物理图像清晰、着重突出物 理实验设计思想的特点。 1 。2 。3 大学物理仿真实验中的虚拟仪器 虚拟仪器就是利用人工智能、虚拟现实等技术,在计算机平台上对真实仪器 进行仿真。虚拟仪器在智能化程度、灵活性、可操作性等方面都具有明显的技术 优势。目前虚拟仪器广泛应用于各个方面,计算机仿真实验系统便是虚拟仪器一 个重要的应用平台。 大学物理仿真实验中的虚拟仪器可以实现以下功能: ( 1 ) 虚拟仪器能够模拟仪器功能,将声、光、动画等各种手段相结合,使使 用者能更生动、形象、直接的了解仪器的结构、运行机理和功能等理论和实际 相结合得更紧密; ( 2 ) 虚拟仪器通过计算机仿真与硬件的结合,不仅可以实现传统仪器的功 能,还可以自定义设计实现功能扩充; ( 3 ) 利用虚拟仪器,可以实现设计计算机仿真实验。 计算机仿真实验系统中的虚拟仪器虽然能模拟实现真实仪器的功能,但是也 存在一定的局限,具体表现在以下方面: ( 1 ) 不易维护:修改起来比较复杂,实验的设计者重新在代码级重新修改编 译仿真实验系统的源代码; ( 2 ) 可设计性和可扩展性较差:用户不能自主开发,自定义仪器界面和修改、 扩展仪器功能; 第一章绪论 ( 3 ) 可移植性较差:虚拟仪器只能在开发语言下使用,不能在多语言下使用。 因此,研究虚拟仪器的设计方法,使其具有可设计性、可扩展性和可移植性 的完备功能,允许用户根据自己的需求自主的定义、设计和扩展虚拟仪器,并且 在多语言下使用,最大程度的实现资源共事,是该领域迫切需要解决的课题。 1 3 研究目标和内容 本课题的研究目标是,提供一套方案,规范大学物理仿真实验的开发过程和 结构:对虚拟仪器进行设计开发和研究,使之有较好的安全性、可设计性、可扩 展性、易维护性和可移植性。本课题以计算机仿真实验系统为研究平台,以虚拟 仪器为研究对象,对虚拟仪器进行设计和应用研究,在此基础上,设计和开发出 计算机仿真实验系统。 涉及到以下研究内容: ( 1 ) 跨平台的虚拟仪器的设计研究 在虚拟仪器开发的基础上,将x m l 技术和动态链接库技术应用到虚拟仪器 设计中,提高程序的灵活性和代码的复用性,以达到仪器整合和功能扩充的目的, 建立智能化的虚拟仪器库。通过封装整合,能够方便实验的开发。并且提供接口, 供进一步开发使用。 ( 2 ) 跨平台的虚拟仪器的应用研究 以v i s u a lc + + 、v i s u a lb a s i c 、b o r l a n dc + + b u i l d e r 等开发工具为例,讨论和 研究动态链接库技术在多种语言中的调用,实现虚拟仪器在多种开发语言工具中 的应用。 ( 3 ) 计算机仿真实验系统的设计和实现 利用面向对象技术,对计算机仿真实验系统进行研究,抽象出虚拟场景和虚 拟仪器对象,分别对其进行数学建模和图像建模。在虚拟仪器设计研究的基础上, 实现虚拟仪器和虚拟场景,从而实现计算机仿真实验系统。 第二章基于x m l 和动态链接库技术的虚拟仪嚣设计 第二章基于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 ) 是- - 种扩展性标识语言,能够方便的描述 数据信息和存储数据。动态链接库技术( d y n a m i c l i n kl i b r a r y ,d l l ) 是w i n d o w s 的一项极其重要的技术,通过它可以让应用程序共享代码和资源。 本章将x m l 和d l l 技术有效结合,用于m v c 架构的虚拟仪器设计中,实 现了虚拟仪器的可设计性、可扩展性、可移植性,提高了虚拟仪器的安全性和易 维护性,改进和完善了虚拟仪器的功能。 2 1m v c 架构的虚拟仪器设计 在计算机仿真实验系统中,采用m v c 架构的思想来实现虚拟仪器的设计。 1 m v c 架构介绍 在以前的计算机仿真实验系统开发中,我们都是先用界面工具域了一个用户 接口界面,然后编写代码根据用户输入去执行相应的动作。这样导致的结果就是, 程序组织围绕用户界面元素和用户在那些界面元素上的动作,数据的存储,应用 的功能以及用来显示的代码都杂乱无章的缠绕在一起。通过把数据模式从各种可 以被存取和控制的数据中分离出来可以改善系统的设计。 m v c 架构最初是在s m a l l t a l k 一8 0 中被用来构建用户界面的。m 代表模型 m o d e l , v 代表视图v i e w ,c 代表控制器c o n t r o l l e r 。使用m v c 架构可以增加 代码的重用率,减少数据表达,数据描述和应用操作的耦合度,同时也使得软件 可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。 m v c 设计模式由三部分组成。模型m o d e l 是应用对象,没有用户界面。视 图v i e w 表示它在屏幕上的显示,代表流向用户的数据。控制器c o n t r o l l e r 定义 用户界面对用户输入的响应方式,负责把用户的动作转成针对m o d e l 的操作。 m o d e l 通过更新v i e w 的数据来反映数据的变化。由此看出,使用m v c 的目的 是将m o d e l 和v i e w 的实现代码分离,从而使同一个程序可以使用不同的表现形 式。c o n t r o l l e r 存在的目的则是确保m o d e l 和v i e w 的同步,一旦m o d e l 改变,v 应该同步更新。m v c 三部分关系图如下: 苎三兰奎三兰坚! 堂茎查竺兰生! ! 查竺垒! ! 堡堡竺茎 。 图2 - 1 m v c 三部分关系图 2 m v c 架构的虚拟仪器设计 在仿真实验系统的虚拟仪器设计中,我们采用m v c 架构的思想,让界面代 码和控制代码、功能代码( 数学模型) 分离的方法,不将复杂的功能逻辑写在界面 代码中。界面窗体的实现文件只用来存放界面代码和控制代码部分。而将复杂的 功能代码独立出来。 具体实现方法如是将画面操作和数据处理分开来,这样做的好处,在于提 高了代码的复用性,也更方便。一个完整的仪器包括下面三个部j b f 1 ) 在f o r m d f m 文件中保存仪器的界面配置,也就是m v c 架构的v i e w 部分传送数据给用户,并且接受用户动作; ( 2 ) 用一个单独的u n i t p a s 文件来实现仪器的数学模型,这就是m v c 架 构的m o d e l 部分,包括仪器的内部数据和数据处理,可以通过d e l p h i 中的u s e s 关键字访问u n i t 文件中的数据: ( 3 ) f o r m p a s 文件充当m v c 架构的c o n t r o l l e r 部分,它从仪器界面接受 用户动作,并且做出响应。主要有两种处理:一是选择界面,此时查询 仪器内部数据并显示在界面上,二是修改仪器内部数据同时对仪器界面 进行更新以保持仪器数据和界面的同步。 3 虚拟仪器实例 激光能量计是物理实验中的常用电学仪器,它可以精确的测量各种不同波长 激光的输出能量。激光能量计通过探头吸收激光,经过内部处理后,根据激光能 量计的量程,显示激光能量值。现以激光能量计为例,介绍一下虚拟仪器的实现 过程。 虚拟仪器激光能量计包括f o r m l e d f m 、u n i t l e p a s 和f o r m l e p a s 三个部分。 清单2 1 给出了虚拟仪器激光能量计的u n i t l e p a s 部分的类型定义。激光能量计 包括输入和量程两个参数,以o u t p u t 作为输出显示在示波器上的能量值数组。 清单2 一l 虚拟仪器激光能量计的u n i t 部分类型定义 一 c y p e t l e = c l a s s ( t o b j e c t 6 第二章基于x m l 和动态链接库技术的虚拟仪器设计 f r a n g e :i n t e g e r ; 量程 f i n p u t :r e a l ; 输入能量,单位m j o u t p u t :a r r a y 【1 4 o fi n t e g e r ; 显示在示波器e 的能量值数组 p r i v a t e p r i v a t ed e c l a r a t i o n s p r o c e d u r es e tr a n g e ( v a l u e :i n t e g e r ) ; p r o c e d u r es e t i n p u t ( v a l u e :r e a l ) ; p r o c e d u r eg e t o u t p u t ( ) j p u b l l c p u b l i cd e c l a r a t i o n s ) c o d s t r u c t o rc r e a t e ( ) j d e s c r u c t o r d e s t r o y ( ) ; p r o p e r t yr a n g e :i n t e g e rr e a df r a n g ew r i t es e t r a n g e ; p r o p e r t yi n p u t :r e a l r e a df i n p u tw r i t e s e t i n p u t j e n d : 清单2 - 2 给出了虚拟仪器激光能量计的f o r m l e p a s 部分的类型定义。它包 括与激光能量计界面有关的所有属性、方法和事件。 清单2 2 虚拟仪器激光能量计的f o r m 部分类型定义 t y p e t f r m l e = c i a s 5f t f o r m ) i m a g e l e :t i m a g e j i m a g e r a n g e :t i m a g e ; i m a g e e n e r g y l :t i m a g e j i m a g e e n e r g y 2 :t i m a g e , i m 8 9 e e n e o g y 3 :t i m a g e j i m a g e e n e r g y 4 :t i m a g e ; i m a g e m j :t i m a g e j i m a g e j :t i m a g e j i m a g e d o t l :t i m a g e ; i m a g e d o t 2 :t i m a g e ; i m a g e d o t 3 :t l m a g e ; i m e g e d o t 日:t i m a g e j p r o c e d u r ef o r m c r e a t e ( s e n d e r :t o b j e c t 】j p r o c e d u r ei m a g e r a “g e m 。u s e d o w n ( s e n d e r :t o b j e c t ;b u t t o n :t m o u s e b u t t o n s h l f t :t s h i f t s t a t e ;x ,y :i n t e g e r ) ; p r i v a t e f ri v a t ed e c l a r a t i o n sl p r o c e d u r es e t r a n g e ( v a l u e :i n t e g e r ) ; p r o c e d u r es e ti n p u tc v a l u e :r e a l ) ; p u b l l c p u b l i cd e c l a r a t i o n s 第二章基于x m l 和动态链接库技术的虚拟仪器设计 p r o c e d u r es h o w d a t a ( ) j p r o p e r t yr a n g e :i n t e g e rw r i t es e tr a n g e j p r o p e r t y1 n p u t :r e a lw r i t es e t i n p u t ; e n d j 2 2e 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 是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 来源于s g m l ,一种比h t m l 更早的标志语言标准。 。 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 ”( 通用标识语言标准) 。 它是标志语言的标准,也就是说所有标志语言都是依照s g m l 制定的,当然包 括h t m l 。s g m l 的覆盖面很广,凡是有一定格式的文件都属于s g m l ,比如 报告,乐谱等等,h t m l 是s g m l 在网络上最常见的文件格式。 而x m l 就是s g m l 的简化版,只不过省略了其中复杂和不常用的部分。 x m l 使得在网络上使用s g m l 语言更加”简单和直接= 简化了定义文件类型的 过程,简化了编程和处理s g m l 文件的过程,简化了在w e b 上的传送和共享。 w 3 c 的x m l 规范规定了x m l 的设计目标: ( 1 ) x m l 可以广泛的运用于w e b 的任何地方; ( 2 ) x m l 可以满足网络应用的需求; ( 3 ) 使用x m l 将使编程更加简单: ( 4 ) m l 便于学习和创建: ( 5 ) x m l 代码将清晰和便于阅读理解; x m l 是用来创建定义类似h t m l 的数据存储语言,它使用一系列简单的标 记描述数据,这些标记可以用方便的方式建立。x m l 与a c c e s s ,o r a c l e 和s q l s e r v e r 等数据库不同,数据库提供了更强有力的数据存储和分析能力,而x m l 仅仅是展示数据。 2 2 1 x m l 的主要特性 x m l 是一种能够自己创造标识的语言,它可以将数据与格式从网页中分开, 它可以储存数据和共享数据的特性使得x m l 无所不能。x m l 有以下特性: ( 1 ) 扩展性。使用x m l ,可以为文档建立自己的标s g ( t a g s ) 。 x m l 的第一个词是“扩展性”,这正是x m l 强大的功能和弹性的原因。在 h t m 罩,有许多固定的标记,我们必须记住然后使用它们,不能使用h t m l 规范里没有的标记。而在x m l 中,能建立任何需要的标记。扩展性使得有更多 的选择和强大的能力。 ( 2 ) 标识。使用x m l 可以识别文档中的元素。 x m l 的第二个词是“标识”,这表明了x m l 的目的是标识文档中的元素。 不论是h t m l ,还是x m l ,标识的本质在于便于理解,如果没有标识,x m l 文档在计算机看来只是一个很长的字符串,每个字看起来都一样,没有重点之分。 通过标识,x m l 文档才便于阅读和理解,可以划分段落,列明标题。x m l 第二章基于x m l 和动态链接库技术的虚拟仪器设计 中,更可以利用其扩展性来为文档建立更合适的标识。标识仅仅是用来识别信 息,它本身并不传达信息。 ( 3 1 语言。使用x m l 要遵循特定的语法来标识文档。 x m l 第三个词是“语言”。这表明了作为一种语言x m l 必须遵循一定的规 则。虽然x m l 的扩展性允许创建新标识,但它仍然必须遵循特定的结构,语法 和明确的定义。 ( 4 ) 结构化。x m l 促使文档结构化,所有的信息按某种关系排列。 结构化就是为文档建立一个框架,就象写文章先写一个提纲。结构化使文档 看起来不会杂乱无章,每一部分都紧密联系,形成个整体。x m l 满足下面两 个结构化原则: 每一部分( 每一个元素) 都和其他元素有关联。关联的级数就形成了结构。 标识本身的含义与它描述的信息相分离。 ( 5 ) 显示。 单独用x m l 不能显示页面,我们使用格式化技术,比如c s s 或者x s l ,才 能显示x m l 标记创建的文档。x m l 是将数据和格式分离的。x m l 文档本身不 知道如何来显示,必须有辅助文件来帮助实现。x s 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 ( n - 巧扩展样式语言) ,是将 来设计x m l 文档显示样式的主要文件类型。它本身也是基于x m l 语言的。使 用x s l ,可以灵活的设置文档显示样式,文档将自动适应任何浏览器和p d a ( 掌 上电脑1 。 ( 6 ) 文档对象模型 文档对象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 是如何用h t m l 或者x m l 对 这个对象进行操作和控制的标准。 当使用d o m 对x m l 文本文件进行操作时,它首先要解析文件,将文件分 解为独立的元素、属性和注释等。然后,它以节点树的形式( 在内存中) 创建 x m l 文件的表示。此后,开发人员可以通过节点树访问文档的内容,并根据需 要修改文档。d o m 为遍历构成x m l 文档的节点树以及获取其中存储的信息提 供了自然的面向对象的机制。特别是: d o m 为处理x m l 文档提供了可编程的方法。 d o m 允许我们在客户端和服务器端修改x m l 数据结构。 d o m 为数据库之间的信息传递提供了理想的机制。 d o m 在不同的平台上可以有不同的实现方式。 筒而言之,读取和操作x m l 文档时,使用d o m 将保证各种平台之间获得 最大程度的操作交互性。 2 2 2 x m l 文档的结构 x m l 文档包含三个部分: 个x m l 文档声明; 一个关于文档类型的定义; 用x m l 标识创建的内容。 详细说明如下: - ( 1 ) d e c l a r a t i o n ( 声明) 第二章基于x m l 和动态链接库技柱的虚拟仪器设计 在所有x m l 文档的第一行都有一个x m l 声明。这个声明表示这个文档是 一个x m l 文档,它遵循的是哪个x m l 版本的规范。一个x m l 的声明语句如 下: ( 2 1d 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 文档中元素,属性以及元素之间关系的。通过d t d 文件可以检测x m l 文档的结构是否正确。d t d 是一种保证x m l 文档格式正确 的有效方法,可以比较x m l 文档和d t d 文件来看文档是否符合规范,元素和 标签使用是否正确。一个d t d 文档包含:元素的定义规则,元素间关系的定义 规则,元素可使用的属性,可使用的实体或符号规则。d t d 文件也是一个a s c i i 的文本文件,后缀名为d t d 。它满足了网络共享和数据交互,使用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 来交换数据。运用程序可以使用这个标准的d t d 来验证接受到的数据是有效的。也可以使用一个d t d 来验证自己的数据。 ( 3 ) e l e m e n t ( 元素) 元素在h t m l 我们已经有所了解,它是组成h t m l 文档的最小单位,在 x m l 中也一样。一个元素由一个标识来定义,包括开始和结束标识以及其中的 内容,比如: w e i z h o u 。唯一不同的就是:在h t m l 中,标识 是固定的,而在x m l 中,标识需要自己创建。 x m l 元素命名必须遵守下面的规则: 元素的名字可以包含子母,数字和其他字符。 元素的名字不能以数字或者标点符号开头。 元素的名字不能以x m l ( 或者x m l ,x m l ,x m l 1 开头。 元素的名字不能包含空格。 ( 4 ) t a g ( 标识) 标识是用来定义元素的。在x m l 中,标识必须成对出现,将数据包围在中 间。标识的名称和元素的名称是一样的。例如这样一个元素: w e i z h o u 其中 就是标识。 ( 5 ) a t t r i b u t e ( 属性) 属性是对标识进一步的描述和说明,一个标识可以有多个属性,例如f o n t 的属性还有s i z e 。x m l 中的属性与h t m l 中的属性是一样的,每个属性都有它 自己的名字和数值,属性是标识的一部分。比如: w e i z h o u x m l 中属性也是自己定义的。数据既可以存储在子元素中也可以存储在属 性中,但是因为属性不易扩充和被程序操作,所以尽量不使用属性,而将属性改 成子元素,例如上面的代码可以改成这样: w e i z h o u m a l e 1 0 第二章基于x m l 和动态链接库技术砖虚拟仪器设计 2 3 ( 6 ) 注释 注释是为了便于阅读和理解,在x m l 文档添加的附加信息,将不会被程序 解释或则浏览器显示。x m l 采用和h t m l 相同的注释语法,如下: 2 2 3m i c r o s o f tx m l 解释器m s x m l ) x m l 的简单使其易于在任何应用程序中读写数据,这使x m l 很快成为数 据交换的唯公共语言,虽然不同的应用软件也支持其它的数据交换格式,但他 们绝大部分都支持x m l ,那就意味着程序可以更容易的与w i n d o w s 、m a co s , l i n u x 以及其他平台下产生的信息结合,然后可以很容易加载x m l 数据到程序 中并分析它,并以x m l 格式输出结果。如果来阅读、更新、创建和操纵一个 x m l 文档,w 3 c 定义了一种软件模型叫”x m l 解释器”。它能够读垤l 文档 并提供对其内容和结构的访问。微软的提供的x m l 解释器m i c r o s o f t x m l ( m s x m l ) 3 0 是一个随i e 6 一起发布的c o m 组件,只要安装了i e6 0 ,就 获得了x m l 解析器。我们也可以从微软m s d nx m l 的网站 ( h t t p :m s d n m i c r o s o f t ,c o m x m ) 免费获得一个单独的可分发文件m s x m l 。这个 解析器的特点是支持与程序设计语言无关的编程模型,他支持以下技术: ( 1 ) j a v a s c r i p t ,v b s c r i p t ,p e r l ,v b ,j a v a ,c + + ,d e l p h i 等等 ( 2 ) w 3 c x m l l 0 和x m l d o m 。 ( 3 1d t d 和x m l 文档验证 使用x m l 来作为描述数据的通用标准的一个主要优点在于,任何x m 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江绥化市庆安县招聘教师36人模拟试卷及答案详解参考
- 2025年谷胱甘肽及酵母提取物项目发展计划
- 小学劳动安全培训课件
- 2025辽宁鞍山市铁东区教育局面向毕业生(第二轮)校园招聘笔试考前自测高频考点模拟试题完整答案详解
- 公司员工请假管理操作手册
- 保险行业技术规范与市场分析
- 2025贵州省凯里学院第十三届贵州人才博览会引才28人考前自测高频考点模拟试题及答案详解一套
- 2025贵州兴仁市马马崖镇村级卫生室医生岗位招聘考前自测高频考点模拟试题及答案详解(新)
- 2025内蒙古第七批高层次人才需求目录(2025年4月29日发布)模拟试卷及答案详解(名校卷)
- 2025河南信阳市潢川县退役军人事务局招聘3名全日制公益性岗位模拟试卷带答案详解
- 中医医术确有专长人员(多年实践人员)医师资格考核申请表
- 低空飞行器设计
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 律师事务所人事管理制度
- 脑梗塞并出血护理查房
- 三对三篮球赛记录表
- 中医基础之五行学说与五脏六腑
- 某水库调度规程完整
- 鲁班锁制作技术
- 画魂空手套无删减全文下载
评论
0/150
提交评论