基于c 的xml使能技术原理及应用new

基于c 的xml使能技术原理及应用new

ID:33691748

大小:175.04 KB

页数:6页

时间:2019-02-28

基于c  的xml使能技术原理及应用new_第1页
基于c  的xml使能技术原理及应用new_第2页
基于c  的xml使能技术原理及应用new_第3页
基于c  的xml使能技术原理及应用new_第4页
基于c  的xml使能技术原理及应用new_第5页
资源描述:

《基于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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。