重庆交通学院
题目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 can 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)标准可视化smil编辑器及其在网络教育中的应用,XML实质上是一种定义语言——任何人、任何行业都可遵循这些法则,定义各种标识来描述信息中的所有元素,然后通过一种被称为分析程序的小型程序进行处理,使信息能“自我描述”。XML现在已经被称为INTERNET的“世界语”。
XML出现的意义不仅仅是改变了HTML僵化的固定标识集,而是从根本上改变了旧式的信息构造方式,创造了一种让所有计算机系统均可进行“智能”交流的语言,使得基于信息传输的互联网在信息检索和获取的方面发生了一种革命性变革,为整个互联网的智能化奠定了基础。自从1998年初XML由W3C设计完成以来,这个标准便如野火般漫延至科学和工业领域。
一些经过精选的规则使XML能够实现上述的一体化功能:其一就是标签总是成对出现,其功能就像我们通常使用的括号一样,同时它们又具有引号的功能,可多层次嵌套——嵌套规则采用计算机中常见的树结构,对于程序员来说简直是惊人的方便;其二是它所依赖的一个新标准——通用计算机代码,这是一个支持世界上所有主要语言的混合文本符号编码系统可视化smil编辑器及其在网络教育中的应用,因此,XML使得信息不但能在不同的计算机系统间交换,还能跨国、跨文化地界交换。
以前,连接到网络的计算机和网络所能做的交互仅限于接收表格——填好后与网络服务器来回交换直至工作完成,而XML由于通过给内容贴上标签来描述其意义,与显示介质无关,所以,可使用一种名叫“格式表”的规则来给不同的设备进行自动重格式化工作——这个正处于发展阶段的、供XML格式表用的标准被称为XSL(可扩展的格式表语言)。XML附加上的结构和语义信息,允许计算机设备立刻处理大量工作,大大减轻了网络服务器的负担,极大地降低网络通信量。1999年2月完成的RDF(资源描述框架)使数十亿通过超链接连接起来网页可以在XML的支持下发挥更大作用。W3C由此制订一个基于XML、称为XLink的超文本链接标准:此标准支持多目标目录选择,能够在点击处直接插入其它网页的相关文本或图像,而不须关闭网页。然而,XLink最大的用途还在于它能将网页的使用指向一些核心数据库中的条目,而非页面本身。当页面地址变更时,制作者只需修改数据库记录便能更新所有指向它的链接,这有助于消除表示链接已被破坏的常见错误——“404文件未找到”。
在设计一门新语言之前,设计者们必须在三件事上达成一致:允许使用何种标签,标签元素怎样相互嵌套以及怎样处理。语言的词汇和结构——通常编写进DTD(文件类型定义)。XML标准不强迫语言设计者使用DTD,但大多数基于XML开发的新语言都带有DTD——它使程序员较易编写出能理解标识并对它作出巧妙处理的软件。所以,未来的网络设计者不仅要精通文字和图像的制作,还要精通DTD、数据树、超链接结构、元数据和格式表的相互依存的多层次系统结构——为第二代网络设计的更为坚实的基础结构。
因此,开发一个图形画,便于用户使用XML进行行业化、领域化、个性化的高效率的信息处理应运而生。
第一章概述
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的易用性。
1.2.1XML的产生
XML是W3C(万唯网联盟)在1982年2月正式推出的作为下一代网页发布的语言。它是一个精简的SGML(标准通用标记语言),它保留了SGML的可扩展功能,并具有HTML 的易用性。
作为一种新兴的计算机技术,XML推动着Web飞速向前发展。它的出现给各行业带来了无限的商机。尤其XML技术同电子商务的结合,推动着传统产业高效的飞速发展。虽然XML自公布之日才短短的几年时间,但却得到了人们的极大的关注,相关的研究及其应用不断涌现。
所谓的XML,就是eXtensible Markup Language,翻译成中文就是“可扩展标识语言”,在国内很多人理解xml为html的简单扩展,这实际上是一种误解。尽管xml同html 关系非常密切。
XML与SGML、HTML的关系。
SGML、HTML是XML的先驱。SGML是指“通用标识语言标准”(Standard Generalized Markup Language),它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。同XML相比,定义的功能很强大,缺点是它不适用于Web数据描述,而且SGML 软件价格非常价格昂贵。HTML相信大家都比较熟悉,即“HyperText Markup Language”(超文本标识语言),它的优点是比较适合web页面的开发。但它有一个缺点是标记相对少,只有固定的标记集如
.等。缺少sgml的柔性和适应性。不能支持特定领域的标记语言,如对数学、化学、音乐等领域的表示支持较少。举个例子来说,开发者很难在web pape上表示数学公式、化学分子式和乐谱。
Xml结合了sgml和html的优点并消除其缺点。Xml仍然被认为是一种sgml语言。比sgml要简单,但能实现sgml的大部分的功能。1996年的夏天,Sun Microssystem 的John Bosak开始开发W3C SGML工作组(现在称为xml工作组)。他们的目标是创建一种sgml,使其在Web中,既能利用Sgml的长处,又保留html的简单性。现在目标基本达到。
1.2.2XML的发展
在专业领域中,出现了Web标记语言的许多项目,著名的有CML—化学标记语言,由Peter Murray_Rust开发,同时开发了第一个通用xml浏览器Jumbo.在数学方面,包括IBM公司再内都在致力开发MathML1997年四月,出版了xll的第一个版本。当xll 完整实现时,将比html和当前浏览器所达到的链接水平更复杂,更强大。1997年8月,Microsoft公司和Inso公司引入xsl.由于xml是纯结构和语义的,需要描述单个元素格式方法。可以使用html的CSS;另一种方案是xsl.1998年1月,microsoft公司出版发行了msxsl程序。可以利用xsl表和xml文档创建能被IE4识别的html页面。
1998年2月,W3C发布了xml1.0的正式版本。最近一年多来,由于网络应用的飞速发展,xml的发展非常迅猛。出现了DOM(Document Object Model),XSLT(XSL Transformation)等新名词,xml的应用软件也有了飞速的发展,Microsoft、IBM、Breeze、Stilo等公司纷纷推出了自己的或解析器,或开发平台。在MicrosoftIBM、HP等大公司的推动下,目前有两个著名的xml的研究组织,分别是 和 ,由他们向W3C提出标准的建议。其中biztalk是有Microsoft牵头组织的,有趣的是
Microsoft公司同时参加了oaisis,不过不同于IBM、HP等著名大公司,他的年费只交10万美元,用Microsoft发言人的话就是“一切视oasis的发展而定!“,言下之意就是如果oasis制定的标准抵触Microsoft的应用,一场标准大战不可避免。
什么是XML
首先XML是一种元标记语言,所谓“元标记”就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记,任何满足xml命名规则的名称都可以标记,这就为不同的应用程序打开了的大门。HTML是一种预定义标记语言,它只认识诸如,
等已经定义的标记,对于用户自己定义的标记是不认识的。第二xml是一种语义/结构化语言。它描述了文档的结构和语义。举个例子,在和html中,要描述一本书,可以如下表示:
book name
author_name