mini-xml(mxml)开发手册--目录


序言
  • 本文结构
  • 词法约定
  • 缩略语
  • 其他参考
  • 法律信息
构建,安装,以及打包Mini-XML
  • 编译 Mini-XML
    • 使用 Visual C++ 进行编译
    • 使用命令行工具进行编译
  • 安装 Mini-XML
  • 创建 Mini-XML 包
Mini-XML 入门
  • 基础知识
  • 节点
  • 创建 XML 文档
  • 加载 XML
  • 保存 XML
    • 控制自动输出换行
  • 搜索和遍历节点
更多的 Mini-XML 编程技术
  • 加载回调函数
  • 保存回调函数
  • 用户定义数据类型
  • 改变节点的值
  • 格式化文本
  • 索引
  • SAX (流方式解析) 加载文档
使用 mxmldoc 工具
  • 基础知识
  • 为你的代码添加注释
  • 标题、分段名和简介
Mini-XML 许可信息 

发行说明
库参考手册
  • 目录
  • 函数
    • mxmlAdd
    • mxmlDelete
    • mxmlElementDeleteAttr
    • mxmlElementGetAttr
    • mxmlElementSetAttr
    • mxmlElementSetAttrf
    • mxmlEntityAddCallback
    • mxmlEntityGetName
    • mxmlEntityGetValue
    • mxmlEntityRemoveCallback
    • mxmlFindElement
    • mxmlIndexDelete
    • mxmlIndexEnum
    • mxmlIndexFind
    • mxmlIndexNew
    • mxmlIndexReset
    • mxmlLoadFd
    • mxmlLoadFile
    • mxmlLoadString
    • mxmlNewCDATA
    • mxmlNewCustom
    • mxmlNewElement
    • mxmlNewInteger
    • mxmlNewOpaque
    • mxmlNewReal
    • mxmlNewText
    • mxmlNewTextf
    • mxmlNewXML
    • mxmlRelease
    • mxmlRemove
    • mxmlRetain
    • mxmlSAXLoadFd
    • mxmlSAXLoadFile
    • mxmlSAXLoadString
    • mxmlSaveAllocString
    • mxmlSaveFd
    • mxmlSaveFile
    • mxmlSaveString
    • mxmlSetCDATA
    • mxmlSetCustom
    • mxmlSetCustomHandlers
    • mxmlSetElement
    • mxmlSetErrorCallback
    • mxmlSetInteger
    • mxmlSetOpaque
    • mxmlSetReal
    • mxmlSetText
    • mxmlSetTextf
    • mxmlSetWrapMargin
    • mxmlWalkNext
    • mxmlWalkPrev
  • 类型定义(typedef)
    • mxml_attr_t
    • mxml_custom_destroy_cb_t
    • mxml_custom_load_cb_t
    • mxml_custom_save_cb_t
    • mxml_custom_t
    • mxml_element_t
    • mxml_error_cb_t
    • mxml_index_t
    • mxml_load_cb_t
    • mxml_node_t
    • mxml_save_cb_t
    • mxml_sax_cb_t
    • mxml_sax_event_t
    • mxml_text_t
    • mxml_value_t
  • 结构(struct)
    • mxml_attr_s
    • mxml_custom_s
    • mxml_element_s
    • mxml_index_s
    • mxml_node_s
    • mxml_text_s
  • 联合(union)
    • mxml_value_u
  • Constants
    • mxml_sax_event_e
    • mxml_type_e
XML方案 (用于自动化文档生成工具 mxmldoc)

序言

这份程序员参考手册描述了 Mini-XML 2.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行代码的libxml2 2.6.9版本相比较了。

译者:仅用了两天时间,作者真是大牛啊!我较喜欢Mini-XML,我也用过TinyXML,libexpat,libxml2等解析器,相比之下Mini-XML实现了一个非常简洁且功能适用的解析器,很适合我的需求:DOM型解析器、解析小型的XML文件,不进行错误恢复及校验,简单易用,且使用纯ANSI-C实现,方便移植到嵌入系统中。评价:很好很强大,而且很简单。Z.F

除了Gutenprint ,mini-XML当前已经应用于以下的项目/应用软件:

  • Common UNIX Printing System
  • CUPS Driver Development Kit
  • ZynAddSubFX

如果您希望将您的项目添加到此列表或者从此列表中删除,或者如果您有任何意见和想法,或者想要发布关于使用mini-XML的经验,请给我发电子邮件( [email protected]

本文档组织结构

本手册由以下章节和附录组成:

  • 第一章, "构建,安装,以及打包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 方案.

词法约定

在这篇手册中使用了一些字体和风格的约定.下面是一些例子含义和使用说明:

lpstat 
lpstat(1)
命令名称;如果在一章中第一次提及这个系统命令或者函数,则后面跟随手册页编号。
译者:上面指Linux 的manpages 手册,使用man命令查看。Z.F


/var 
/usr/share/cups/data/testprint.ps
文件或者目录. 

Request ID is Printer-123
屏幕输出. 

lp -d printer filename ENTER
用户输入的文字,特殊键如 ENTER 总是使用大写. 

12.3
文本中的数字,使用(.)来表示小数点. 

缩略词

下面是在本手册中使用的缩略词:

Gb
GB, 即 1073741824 字节,1*1024*1024*1024 字节 

kb
即 1024 字节,1*1024 字节 

Mb
兆, or 1048576 bytes,1*1024*1024 字节 

UTF-8, UTF-16
统一的字符编码标准, 8-位 或 16-位 

W3C
万维网联盟 

XML
可扩展标记语言 

其他参考

The Unicode Standard, Version 4.0, Addison-Wesley, ISBN 0-321-18578-1
定义了用于XML的Unicode字符集. 

Extensible Markup Language (XML) 1.0 (Third Edition)
W3C制定的XML标准. 

法律资料

The Mini-XML library is copyright 2003-2008 by Michael Sweet.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

你可能感兴趣的:(C/C++Research)