重庆交通学院
题目XML语言的可视化编辑器
系(全称)计算机与信息工程系
专业年级计算机科学与技术2001级
学生姓名龚锐学号01060118
指导教师闫果
摘要
【Abstract】:
XML,what is called,is eXtensible Markup Language for short,which is not the simple expansion of HTML,but has combined the advantage of HTML and dispelled its shortcoming. XML is used more and more extensively,getting people's great concern as a kind of newly arisen and developing computer technology,and relevant research are emerging constantly.At present,XML editor which the developer ca
n use is in a very large range,but there are too few use simply and conveniently,free XML editors that can be found now.This text has introduced the development process of visual XML editor:Have expatiated the proposition and meaning of the subject at first,then carry on the overall structural design according to the actual requirement situation,also introduce the function and application of DOM and MSXML parser,and the introductions to several API interfaces of DOM concretely,including each attribute,usage method,enclosed sample prove of function among them.At last there are parsing deals of XML and concrete realization of code.
【Key Words】:XML HTML editor DOM API
【摘要】:
所谓的XML,就是eXtensible Markup Language,即“可扩展标识语言”,它并不是HTML的简单扩展,而是XML结合了HTML的优点并消除了其缺点。XML作为一种新兴的计算机技术,应用越来越广泛,得到了人们的极大的关注,相关的研究不断涌现。目前,开发人员可以使用的XML编辑器的范围很广,可是现在能到的使用简便、免费的XML 编辑器太少了。本文介绍了XML可视化编辑器的开发过程:首先说明了课题的提出及其意义,然后根据实际需求情况进行总体结构设计,还具体介绍了DOM和MSXML解析器的功能和应用,以及DOM几个API接口的介绍,包括其中各个函数的属性、使用方法、并附例子说明。最后是XML的解析处理及具体代码的实现。
【关键字】:可扩展标识语言超文本标识语言编辑器文档对象模型应用程序接口
目录
引言 (4)
第一章概述 (5)
1.1前言 (5)
1.2XML简介 (5)
1.2.1XML的产生 (6)
1.2.2XML的发展 (6)
1.2.3XML的应用 (8)
1.3MFC简介 (10)
1.3.1C++类库 (11)
1.3.2应用程序框架 (11)
1.3.3应用程序类型 (11)
第二章系统介绍 (13)
2.1系统概述 (13)
2.2可行性研究 (15)
第三章XML解析器 (16)
3.1XML解析器简介 (16)
3.2DOM (16)
3.2.1DOM概述 (17)
3.2.2DOM解析器的原理 (17)
3.3SAX (17)
3.3.1SAX概述 (17)
3.3.2SAX解析器的原理 (18)
3.4DOM和SAX的关系 (18)
3.4.1DOM与SAX的优缺点比较 (18)
3.4.2选择DOM的原因 (19)
3.4.3关于DOM规范 (19)
第四章MSXML Parser的使用 (21)
4.1MSXML PARSER的概念 (21)
4.1.1XML Parser的功能 (21)
4.1.2MSXML Parser的使用 (22)
4.2DOM的接口 (23)
4.2.1DOM接口简介 (23)
4.2.2MSXML的COM接口 (24)
4.3接口对象方法举例 (25)
4.3.1Document对象 (25)
4.3.2Node对象 (29)
4.3.3NodeList对象 (30)
4.3.4parseError对象 (30)
第五章MSXML解析的实现 (32)
5.1解析流程 (32)
5.1.1流程图 (32)
5.1.2解析器的初始化 (33)
5.2MSXML的解析处理 (33)
5.2.1添加兄弟节点 (33)
5.2.2添加子节点 (35)
5.2.3添加文本节点 (37)
5.2.4删除节点 (38)
5.2.5替换节点 (39)
5.2.6替换文本节点 (40)
5.2.7属性修改 (41)
第六章结束语 (43)
6.1总结 (43)
6.2致谢 (43)
参考文献 (44)
引言
W3C(World Wide Web Consortium,世界广域网组织)在1998年创建了可扩展标识语言XML(Extensible Markup language)标准,XML实质上是一种定义语言——任何人、任何行业都可遵循这些法则,定义各种标识来描述信息中的所有元素,然后通过一种被称为分析程序的小型程序进行处理,使信息能“自我描述”。XML现在已经被称为INTERNET的“世界语”。
XML出现的意义不仅仅是改变了HTML僵化的固定标识集,而是从根本上改变了旧式的信息构造方式,创造了一种让所有计算机系统均可进行“智能”交流的语言,使得基于信息传输的互联网在信息检索和获取的方面发生了一种革命性变革,为整个互联网的智能化奠定了基础。自从1998年初XML由W3C设计完成以来,这个标准便如野火般漫延至科学和工业领域。
一些经过精选的规则使XML能够实现上述的一体化功能:其一就是标签总是成对出现,其功能就像我们通常使用的括号一样,同时它们又具有引号的功能,可多层次嵌套——嵌套规则采用计算机中常见的树结构,对于程序员来说简直是惊人的方便;其二是它所依赖的一个新标准——通用计算机代码,这是一个支持世界上所有主要语言的混合文本符号编码系统,因此,XML使得信息不但能在不同的计算机系统间交换,还能跨国、跨文化地界交换。
以前,连接到网络的计算机和网络所能做的交互仅限于接收表格——填好后与网络服务器来回交换直至工作完成,而XML由于通过给内容贴上标签来描述其意义,与显示介质无关,所以,可使用一种名叫“格式表”的规则来给不同的设备进行自动重格式化工作——这个正处于发展阶段的、供XML格式表用的标准被称为XSL(可扩展的格式表语言)。XML附加上的结构和语义信息,允许计算机设备立刻处理大量工作,大大减轻了网络服务器的负担,极大地降低网络通信量。1999年2月完成的RDF(资源描述框架)使数十亿通过超链接连接起来网页可以在XML的支持下发挥更大作用。W3C由此制订一个基于XML、称为XLink的超文本链接标准:此标准支持多目标目录选择,能够在点击处直接插入其它网页的相关文本或图像,而不须关闭网页。然而,XLink最大的用途还在于它能将网页的使用指向一些核心数据库中的条目,而非页面本身。当页面地址变更时,制作者只需修改数据库记录便能更新所有指向它的链接,这有助于消除表示链接已被破坏的常见错误——“404文件未到”。
在设计一门新语言之前,设计者们必须在三件事上达成一致:允许使用何种标签,标签元素怎样相互嵌套以及怎样处理。语言的词汇和结构——通常编写进DTD(文件类型定义)。XML标准不强迫语言设计者使用DTD,但大多数基于XML开发的新语言都带有DTD——它使程序员较易编写出能理解标识并对它作出巧妙处理的软件。所以,未来的网络设计者不仅要精通文字和图像的制作,还要精通DTD、数据树、超链接结构、元数据和格式表的相互依存的多层次系统结构——为第二代网络设计的更为坚实的基础结构。
因此,开发一个图形画,便于用户使用XML进行行业化、领域化、个性化的高效率的信息处理应运而生。editor at large
第一章概述
1.1前言
XML文档有两种广义类型:面向散文的和面向数据的。面向散文的文档借用了XML 的SGML根。散文格式通常有许多规则,通过这些规则,节、子节、段、章、图以及其它项目可以彼此嵌套。典型情况下,它将内联的、面向字符的标记用于单个字和短语(粗体、强调、引用和链接等)。DocBook就是一个著名并且广泛使用的示例;另一个示例是IBM的developerWorks内部文章格式。相反,面向数据的文档很少拥有这样的文本,但包含了数值和简单名称的嵌套类表结构。面向数据的XML通常类似于RDBMS表,有时就是从此类数据库中生成的。通常,将XML看作列和行的能力对于面向数据的XML 而言很重要。
除了这些广义类型,还出现了一些特殊的XML“方言”。许多“方言”是面向数据的,如SOAP、XML-RPC、WSDL和RDF等。尽管基本上所有的XML编辑器都能在一定程度上处理定制的DTD,但有些特定需求可能要求更专门的定制。某些同样的问题可能也适用于面向散文的格式,尤其是复杂格式,如DocBook、LegalXML或TEI。通常,XML 编辑器应该能够非常容易地创建和修改DTD或W3C XML模式
的有效XML文档,验证和良好格式检查、XSLT转换、浏览器预览以及项目(相关文件的集合,包括:XML、XSL、CSS和模式等)的概念。
XML writer简介
XML writer是一个经典的XML编辑器。它与文本编辑器非常类似,并带有一些特定于XML的额外特性。文档仅有的可编辑视图是原文视图(textual view),其中语法是突出显示的。有几种利用MSXML和Internet Explorer DLL的预览方式—“可折叠的”树、CSS显示和XSLT转换视图。所有这些预览视图都只是原原本本地嵌入了Internet Explorer窗格。特别要注意的是,Internet Explorer仍不能正确地呈现内联CSS元素(Mozilla和Opera完美地实现了这一点),这使得该视图对于面向散文的文档的可用性大大削弱了。当然,如果您碰巧开发了针对(X)HTML的XSLT表,则可以得到良好显示。XMLwriter根本不对面向数据的编辑提供任何支持。
除了文本编辑器特性以外,XMLwriter还拥有以下选项:验证和良好格式检查、XSLT转换、浏览器预览以及项目(相关文件的集合,包括:XML、XSL、CSS和模式等)的概念。与我研究的大多数其它产品相比,该产品的额外特性比较薄弱。TagBar是插入元素的工具,它多少有些笨拙;输入属性时没有帮助;验证是严格地事后进行;搜索对话框极其粗糙(没有正则表达式、XPath或即使是特定于元素/属性/值的搜索)。XMLwriter所能做的所有事情,象jEdit这样通用的、免费的用于程序员的编辑器几乎都能做得更好。
1.2XML简介
所谓的XML,就是eXtensible Markup Language,翻译成中文就是“可扩展标识语言”。它是一个精简的SGML(标准通用标记语言),它保留了SGML的可扩展功能,并具有HTML的易用性。