您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > Mini-XML-程序员开发手册--Version-2.5
Mini-XMLMini-XMLMini-XMLMini-XML程序员开发手册程序员开发手册程序员开发手册程序员开发手册,,,,VersionVersionVersionVersion2.52.52.52.5目录中文翻译:Z.F,mail:zhfjyq@gmail.com,序言本文结构词法约定缩略语其他参考法律信息构建,安装,以及打包Mini-XML编译Mini-XML使用VisualC++进行编译使用命令行工具进行编译安装Mini-XML创建Mini-XML包Mini-XML入门基础知识节点创建XML文档加载XML保存XML控制自动输出换行搜索和遍历节点更多的Mini-XML编程技术加载回调函数保存回调函数用户定义数据类型改变节点的值格式化文本索引SAX(流方式解析)加载文档使用mxmldoc工具基础知识为你的代码添加注释标题、分段名和简介Mini-XML许可信息发行说明库参考手册目录函数mxmlAddmxmlDeletemxmlElementDeleteAttrmxmlElementGetAttrmxmlElementSetAttrmxmlElementSetAttrfmxmlEntityAddCallbackmxmlEntityGetNamemxmlEntityGetValuemxmlEntityRemoveCallbackmxmlFindElementmxmlIndexDeletemxmlIndexEnummxmlIndexFindmxmlIndexNewmxmlIndexResetmxmlLoadFdmxmlLoadFilemxmlLoadStringmxmlNewCDATAmxmlNewCustommxmlNewElementmxmlNewIntegermxmlNewOpaquemxmlNewRealmxmlNewTextmxmlNewTextfmxmlNewXMLmxmlReleasemxmlRemovemxmlRetainmxmlSAXLoadFdmxmlSAXLoadFilemxmlSAXLoadStringmxmlSaveAllocStringmxmlSaveFdmxmlSaveFilemxmlSaveStringmxmlSetCDATAmxmlSetCustommxmlSetCustomHandlersmxmlSetElementmxmlSetErrorCallbackmxmlSetIntegermxmlSetOpaquemxmlSetRealmxmlSetTextmxmlSetTextfmxmlSetWrapMarginmxmlWalkNextmxmlWalkPrev类型定义(typedef)mxml_attr_tmxml_custom_destroy_cb_tmxml_custom_load_cb_tmxml_custom_save_cb_tmxml_custom_tmxml_element_tmxml_error_cb_tmxml_index_tmxml_load_cb_tmxml_node_tmxml_save_cb_tmxml_sax_cb_tmxml_sax_event_tmxml_text_tmxml_value_t结构(struct)mxml_attr_smxml_custom_smxml_element_smxml_index_smxml_node_smxml_text_s联合(union)mxml_value_uConstantsmxml_sax_event_emxml_type_eXML方案(用于自动化文档生成工具mxmldoc)--------------------------------------------------------------------------------序言这份程序员参考手册描述了Mini-XML2.5版本,一个小型的XML解析库,使用它可以使你的C或者C++应用程序方便的进行XML数据文件的读写Mini-XML最初是为了Gutenprint项目而开发,目的是为了替换既大又笨重的libxml2库,想要实现一个小型且易于使用的一些东西.它开始于2003年6月的一个早晨,当时罗伯特发表了下面几句话到开发者列表:这真是糟糕,我们需要libxml2,但反复看来,我们的XML解析器仅需要我们可以操作的一小部分。我做了以下回复:考虑到你使用XML仅在一个有限的范围中,那么只使用几百行代码来编写一个微型XML(mini-XML)API,应该是很简单的。我接受了这个挑战,用了两天的时间进行疯狂的编码,并且公开发布了第一个mini-XML版本,总共是696行代码。然后,罗伯特迅速把mini-XML整合到Gutenprint中,并且移除了libxml2库感谢很多不同的开发者给我的回馈和支持,从那以后,Mini-XML逐渐发展为一个提供更多完整的XML实现,当前已经高达3441行代码,但已经可以和103893行代码的libxml22.6.9版本相比较了。译者:仅用了两天时间,作者真是大牛啊!我较喜欢Mini-XML,我也用过TinyXML,libexpat,libxml2等解析器,相比之下Mini-XML实现了一个非常简洁且功能适用的解析器,很适合我的需求:DOM型解析器、解析小型的XML文件,不进行错误恢复及校验,简单易用,且使用纯ANSI-C实现,方便移植到嵌入系统中。评价:很好很强大,而且很简单。Z.F除了Gutenprint,mini-XML当前已经应用于以下的项目/应用软件:CommonUNIXPrintingSystemCUPSDriverDevelopmentKitZynAddSubFX如果您希望将您的项目添加到此列表或者从此列表中删除,或者如果您有任何意见和想法,或者想要发布关于使用mini-XML的经验,请给我发电子邮件(mxml@easysw.com)本文档组织结构本手册由以下章节和附录组成:第一章,构建,安装,以及打包Mini-XML,关于mini-XML在编译、安装以及打包方面的说明.第二章,Mini-XML入门,如何在你的应用程序中使用mini-XML.第三章,更多的Mini-XML编程技术展示了使用mini-XML库的更多的方法。第四章,使用mxmldoc工具,描述如何使用mxmldoc(1)程序来生成文档.附录A,Mini-XML许可信息,使用和发布mini-XML的条款及条件。附录B,发行说明,列出了每次mini-XML发布版本的改变信息.附录C,库参考手册,包含了关于mini-XML的完整参考信息,使用mxmldoc生成.附录D,XML方案,显示了mxmldoc生成XML文件时使用的XML方案.词法约定在这篇手册中使用了一些字体和风格的约定.下面是一些例子含义和使用说明:lpstatlpstat(1)命令名称;如果在一章中第一次提及这个系统命令或者函数,则后面跟随手册页编号。译者:上面指Linux的manpages手册,使用man命令查看。Z.F/var/usr/share/cups/data/testprint.ps文件或者目录.RequestIDisPrinter-123屏幕输出.lp-dprinterfilenameENTER用户输入的文字,特殊键如ENTER总是使用大写.12.3文本中的数字,使用(.)来表示小数点.缩略词下面是在本手册中使用的缩略词:GbGB,即1073741824字节,1*1024*1024*1024字节kb即1024字节,1*1024字节Mb兆,or1048576bytes,1*1024*1024字节UTF-8,UTF-16统一的字符编码标准,8-位或16-位W3C万维网联盟XML可扩展标记语言其他参考TheUnicodeStandard,Version4.0,Addison-Wesley,ISBN0-321-18578-1定义了用于XML的Unicode字符集.ExtensibleMarkupLanguage(XML)1.0(ThirdEdition)W3C制定的XML标准.法律资料TheMini-XMLlibraryiscopyright2003-2008byMichaelSweet.Thislibraryisfreesoftware;youcanredistributeitand/ormodifyitunderthetermsoftheGNULibraryGeneralPublicLicenseaspublishedbytheFreeSoftwareFoundation;eitherversion2oftheLicense,or(atyouroption)anylaterversion.Thislibraryisdistributedinthehopethatitwillbeuseful,butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyofMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNULibraryGeneralPublicLicenseformoredetails.--------------------------------------------------------------------------------第一章构建,安装,以及打包Mini-XMLMini-XMLMini-XMLMini-XML这一章描述了如何在你的系统上使用源码包构建,安装以及打包Mini-XML,你将需要一个ANSI/ISO-C兼容的C编译器来构建Mini-XML,GCC可以工作,这也是大多数厂家的C编译器。如果你需要在Windows平台上构建,我们建议使用VirtualC++环境和解决方案文件.对于其他的操作系统,你在C编译器之外需要一个POSIX兼容的shell和make程序..编译Mini-XMLMini-XML同时具备基于autoconf的配置脚本和VirtualC++的解决方案,可以用来编译库和关联的其他工具.使用VisualC++编译打开在目录vcnet下的mxml.sln解决方案.选择需要构建的配置,Debug(缺省选项)或者Release,并且从Build菜单中选择BuildSolution项.使用命令行工具编译在你的系统上键入下面的命令来配置Mini-XML源代码:./configureENTER缺省的安装前缀是/usr/local,这可以被覆盖使用--prefix选项:./configure--prefix=/fooENTER其他配置选项可以使用命令--help选项进行查看:./configure--helpENTER当你配置完毕,使用make(1)程序来构建并且运行测试程序来校验是否工作正常,如下:makeENTER安装Mini-XML如果你使用VisualC++,分别拷贝mxml.lib和mxml.h文件到VisualC++lib和include目录.否则,使用make命令和install参数来安装Mini-XML到配置的目录中:makeinstallENTER创建Mini-XML包Mini-XML包含两个文件可以被用来创建二进制发行包.第一个文件是mxml.spec可以被使用通过rpmbuild(8)软件来创建RedHat包管理器(RPM)的发行包,通常用于Linux平台.rpmbuild可以自己进行软件编译,你可以为它提供一个Mini-XML的tar文件来编译整个包,使用以下命令:rpmbuild-tamxml-version.tar.gzENTER第二个文件是mxml.list被用于epm(1)程序创建不同格式的软件包.epm程序可以从以下网址获得:使用make命令通过epm目标来构建一个针对你的系统的便携的本地包:makeepmENTER为
本文标题:Mini-XML-程序员开发手册--Version-2.5
链接地址:https://www.777doc.com/doc-5581341 .html