📄 intro.html
字号:
<html><head> <title>Mini-XML Programmers Manual, Version 2.5</title> <meta name='copyright' content='Copyright 2003-2008'> <meta name='author' content='Michael R. Sweet'> <meta name='keywords' content='XML, C, C++, library'></head><body><h1 align='right'><a name='INTRO'><img src="0.gif" align="right"hspace="10" width="100" height="100" alt="0"></a>Introduction</h1><p>This programmers manual describes Mini-XML version 2.5, a smallXML parsing library that you can use to read and write XML datafiles in your C and C++ applications.</p><p>Mini-XML was initially developed for the <ahref='http://gutenprint.sf.net/'>Gutenprint</a> project to replacethe rather large and unwieldy <tt>libxml2</tt> library withsomething substantially smaller and easier-to-use. It all began onemorning in June of 2003 when Robert posted the following sentence tothe developer's list:</p><blockquote><em>It's bad enough that we require libxml2, but rollingour own XML parser is a bit more than we canhandle.</em></blockquote><p>I then replied with:</p><blockquote><em>Given the limited scope of what you use in XML, itshould be trivial to code a mini-XML API in a few hundred lines ofcode.</em></blockquote><p>I took my own challenge and coded furiously for two days toproduced the initial public release of Mini-XML, total lines ofcode: 696. Robert promptly integrated Mini-XML into Gutenprintand removed libxml2.</p><p>Thanks to lots of feedback and support from variousdevelopers, Mini-XML has evolved since then to provide a morecomplete XML implementation and now stands at a whopping 3,441lines of code, compared to 103,893 lines of code for libxml2version 2.6.9.</p><p>Aside from Gutenprint, Mini-XML is used for thefollowing projects/software applications:</p><ul> <li><a href='http://www.cups.org/'>Common UNIX Printing System</a></li> <li><a href='http://www.cups.org/ddk/'>CUPS Driver Development Kit</a></li> <li><a href='http://zynaddsubfx.sourceforge.net'>ZynAddSubFX</a></li></ul><p>Please email me (mxml @ easysw . com) if you would like yourproject added or removed from this list, or if you have anycomments/quotes you would like me to publish about yourexperiences with Mini-XML.</p><h2>Organization of This Document</h2><p>This manual is organized into the following chapters andappendices:</p><ul> <li>Chapter 1, "<a href='#INSTALL'>Building, Installing, and Packaging Mini-XML</a>", provides compilation, installation, and packaging instructions for Mini-XML.</li> <li>Chapter 2, "<a href='#BASICS'>Getting Started with Mini-XML</a>", shows how to use the Mini-XML library in your programs.</li> <li>Chapter 3, "<a href='#ADVANCED'>More Mini-XML Programming Techniques</a>", shows additional ways to use the Mini-XML library.</li> <li>Chapter 4, "<a href='#MXMLDOC'>Using the mxmldoc Utility</a>", describes how to use the <tt>mxmldoc(1)</tt> program to generate software documentation.</li> <li>Appendix A, "<a href='#LICENSE'>Mini-XML License</a>", provides the terms and conditions for using and distributing Mini-XML.</li> <li>Appendix B, "<a href='#RELNOTES'>Release Notes</a>", lists the changes in each release of Mini-XML.</li> <li>Appendix C, "<a href='#REFERENCE'>Library Reference</a>", contains a complete reference for Mini-XML, generated by <tt>mxmldoc</tt>.</li> <li>Appendix D, "<a href='#SCHEMA'>XML Schema</a>", shows the XML schema used for the XML files produced by <tt>mxmldoc</tt>.</li></ul><!-- NEED 10 --><h2>Notation Conventions</h2><p>Various font and syntax conventions are used in this guide.Examples and their meanings and uses are explained below:</p><dl> <dt><code>lpstat</code><br> <code>lpstat(1)</code></dt> <dd>The names of commands; the first mention of a command or function in a chapter is followed by a manual page section number.<br><br></dd> <dt><var>/var</var><br> <var>/usr/share/cups/data/testprint.ps</var></dt> <dd>File and directory names.<br><br></dd> <dt><tt>Request ID is Printer-123</tt></dt> <dd>Screen output.<br><br></dd> <dt><kbd>lp -d printer filename ENTER</kbd></dt> <dd>Literal user input; special keys like <kbd>ENTER</kbd> are in ALL CAPS.<br><br></dd> <dt>12.3</dt> <dd>Numbers in the text are written using the period (.) to indicate the decimal point.<br><br></dd></dl><!-- NEED 10 --><h2>Abbreviations</h2><p>The following abbreviations are used throughout thismanual:</p><dl> <dt>Gb</dt> <dd>Gigabytes, or 1073741824 bytes<br><br></dd> <dt>kb</dt> <dd>Kilobytes, or 1024 bytes<br><br></dd> <dt>Mb</dt> <dd>Megabytes, or 1048576 bytes<br><br></dd> <dt>UTF-8, UTF-16</dt> <dd>Unicode Transformation Format, 8-bit or 16-bit<br><br></dd> <dt>W3C</dt> <dd>World Wide Web Consortium<br><br></dd> <dt>XML</dt> <dd>Extensible Markup Language<br><br></dd></dl><!-- NEED 12 --><h2>Other References</h2><dl> <dt>The Unicode Standard, Version 4.0, Addison-Wesley, ISBN 0-321-18578-1</dt> <dd>The definition of the Unicode character set which is used for XML.<br><br></dd> <dt><a href='http://www.w3.org/TR/2004/REC-xml-20040204/'>Extensible Markup Language (XML) 1.0 (Third Edition)</a></dt> <dd>The XML specification from the World Wide Web Consortium (W3C)<br><br></dd></dl><!-- NEED 6 --><h2>Legal Stuff</h2><p>The Mini-XML library is copyright 2003-2008 by MichaelSweet.</p><p>This library is free software; you can redistribute it and/ormodify it under the terms of the <ahref='#LICENSE'>GNU Library General PublicLicense</a> as published by the Free Software Foundation; eitherversion 2 of the License, or (at your option) any laterversion.</p><p>This library is distributed in the hope that it will beuseful, but WITHOUT ANY WARRANTY; without even the impliedwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the GNU Library General Public License formore details.</p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -