欢迎来到天天文库
浏览记录
ID:33691748
大小:175.04 KB
页数:6页
时间:2019-02-28
《基于c 的xml使能技术原理及应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第25卷第5期暨南大学学报(自然科学版)Vo1.25No.52004年10月JournalofJinanUniversity(NaturalScience)Oct.2004基于C++的XML使能技术原理及应用周智洪,肖璋,刘荣辉(暨南大学电子工程系,广东广州510632)[摘要]探讨应用XML几项关键使能技术的概念、使用场合和基本使用方法,结合中国移动小额支付平台中业务数据的交换所用到的XML解析、合成等技术进行了探讨,用C++语言,并利用ORACLE公司提供的开发工具进行了实际的程序开发.[关键词]文档树模式;扩展标志言语简单API函数;扩展标志语言样式转换;扩展标志语
2、言模式处理;扩展标志语言类生成器[中图分类号]1tr393[文献标识码]A[文章编号]1000—9965(2004)o5—0590一o6XML(ExtensibleMarkupLanguage,扩展标志语言)是一种标准通用标记语言,即SGML的一个子集.它定义了一套语义标记的规则,这些标记将文档分成许多部件并对这些部件定义为标签.XML与HTML的最大不同就是用户根据定义出来的标签,可以按照实际的需要对需要传送的文件进行充分的表达.一项开放的标准,XML及其相关技术的重要性在于基于这些标准建立的组件、库和应用能够具有更好的可重用性和互操作性.为了有效地操作XML文档,必须
3、调用大量的组件和实用程序,开发者需要解析XML,针对DTD或XML模式来验证XML的有效性,用样式表来转换XML,从数据中产生XML文档等等.下面分类具体论述XML解析、XSLT处理、XML模式处理及XML类生成等关键技术的原理与应用.1xML解析XML解析器是处理任何XML文件的第一关,分析出来的物件交给下游的应用程序作进一步处理.解析器遵循一定的标准.XML解析器按照如何回应(feedback)调用者的方式,可以分成两大类:事件驱动类和对象模型类.前者的代表是sAX(SimpleAPIforⅪ垤L),后者的代表是DOM(DocumentObjectMode1).SAX
4、的基本原理是,由接口的用户提供符合定义的处理器,XML分析时遇到特定的事件,就调用处理器中特定事件的处理函数.而DOM的思想也称为“基于树的(treebased)”,因为其主要想法是一次性将一篇结构化文档全部解析,然后生成一个对象树(objecttree)用以描述该文档.之后对于该文档的所有操作(如修改、查询等),均在该对象树上进行.但从实际的使用来说,不论是使用哪种方式的解析器,都大致经过以下几个步骤【J:(1)初始化解析器:就是确定准备采用哪种方式解析xml文档.如果采用xmlinit(&ecode,【收稿151期]2003—09—30[作者简介]周智洪(1976一)
5、,男,硕士研究生,研究方向:计算机与通信网络第5期周智洪等:基于C++的XML使能技术原理及应用5910,0,0,&saxcb);ecode为返回的错误代码,saxcb表示SAX回调结构,即采用SAX方式进行解析文档.如果用xmlinit(&ecode,0,0,0,O),则解析器初始化为DOM方式.(2)解析:提供了两个方法来对XML文档解析.如果解析存储在外部文件中的文档,则用方法xmlparse;例如:xmlparse(DOCUMENT,(oratext*)0,flag),DOCUMENT表示要解析的XML文档的路径,0为缺省的文档编码,最后一个参数为解析器的行为标志
6、位掩码;如果解析内存缓冲区中的文档,则用xmlparsebuf,例如:xmlparsebuf(bur,sizeof(buf),(oratext*)0,flag).(3)调用DOM或SAX的API函数:如果采用DOM,调用解析器方法getDocument(),在内存中建立XML文档树,返回DOM树的根(即文档节点的句柄),从根就可以访问树的其余部分.如果你采用的是SAX接口,解析开始后就会触发相应的回调函数,你要做的就是在回调结构xmlsaxcb指定你所需要的函数,并在函数中实现你需要功能.(4)清除:在文档被解析后,通过DOM或SAX调用返回的指向数据的指针一直保持有效,
7、直到进行显示的清除或终止调用,即分配的内存没有释放.如果在初始化和终止之间需要解析多个文档,则在完成旧数据的处理后调用parse.xmlclean(),它将释放所有分配的内存.(5)终止:终止函数parse.xmlterm(),关闭解析器并释放所有分配的内存.解析器直到再次对parse.xmlinit()的调用发生前都不会被使用.整个解析的思想如图1所示.图1XML解析流程图2XSLT处理可扩展样式表语言变换(xSLT)实质就是根据扩展样式表把XML文档转换成另外一个XML文档、HTML文档,或多种其他文本格式.图2表示了XS
此文档下载收益归作者所有