mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-14 15:55:30 +00:00
Prep for 2.6 release.
This commit is contained in:
parent
f3475bf739
commit
e1b9f509fe
117
README
117
README
@ -1,4 +1,4 @@
|
||||
README - 2009-01-12
|
||||
README - 2009-05-17
|
||||
-------------------
|
||||
|
||||
|
||||
@ -6,90 +6,82 @@ INTRODUCTION
|
||||
|
||||
This README file describes the Mini-XML library version 2.6.
|
||||
|
||||
Mini-XML is a small XML parsing library that you can use to
|
||||
read XML and XML-like data files in your application without
|
||||
requiring large non-standard libraries. Mini-XML only
|
||||
requires an ANSI C compatible compiler (GCC works, as do
|
||||
most vendors' ANSI C compilers) and a "make" program.
|
||||
Mini-XML is a small XML parsing library that you can use to read XML and
|
||||
XML-like data files in your application without requiring large non-standard
|
||||
libraries. Mini-XML only requires an ANSI C compatible compiler (GCC works,
|
||||
as do most vendors' ANSI C compilers) and a "make" program.
|
||||
|
||||
Mini-XML provides the following functionality:
|
||||
|
||||
- Reading of UTF-8 and UTF-16 and writing of UTF-8
|
||||
encoded XML files and strings.
|
||||
- Data is stored in a linked-list tree structure,
|
||||
preserving the XML data hierarchy.
|
||||
- Supports arbitrary element names, attributes, and
|
||||
attribute values with no preset limits, just available
|
||||
memory.
|
||||
- Supports integer, real, opaque ("cdata"), and text
|
||||
data types in "leaf" nodes.
|
||||
- Reading of UTF-8 and UTF-16 and writing of UTF-8 encoded XML files and
|
||||
strings.
|
||||
- Data is stored in a linked-list tree structure, preserving the XML
|
||||
data hierarchy.
|
||||
- Supports arbitrary element names, attributes, and attribute values
|
||||
with no preset limits, just available memory.
|
||||
- Supports integer, real, opaque ("cdata"), and text data types in
|
||||
"leaf" nodes.
|
||||
- Functions for creating and managing trees of data.
|
||||
- "Find" and "walk" functions for easily locating and
|
||||
navigating trees of data.
|
||||
- "Find" and "walk" functions for easily locating and navigating trees
|
||||
of data.
|
||||
|
||||
Mini-XML doesn't do validation or other types of processing
|
||||
on the data based upon schema files or other sources of
|
||||
definition information.
|
||||
Mini-XML doesn't do validation or other types of processing on the data
|
||||
based upon schema files or other sources of definition information.
|
||||
|
||||
|
||||
BUILDING Mini-XML
|
||||
|
||||
Mini-XML comes with an autoconf-based configure script; just
|
||||
type the following command to get things going:
|
||||
Mini-XML comes with an autoconf-based configure script; just type the
|
||||
following command to get things going:
|
||||
|
||||
./configure
|
||||
|
||||
The default install prefix is /usr/local, which can be
|
||||
overridden using the --prefix option:
|
||||
The default install prefix is /usr/local, which can be overridden using the
|
||||
--prefix option:
|
||||
|
||||
./configure --prefix=/foo
|
||||
|
||||
Other configure options can be found using the --help
|
||||
option:
|
||||
Other configure options can be found using the --help option:
|
||||
|
||||
./configure --help
|
||||
|
||||
Once you have configured the software, type "make" to do the
|
||||
build and run the test program to verify that things are
|
||||
working, as follows:
|
||||
Once you have configured the software, type "make" to do the build and run
|
||||
the test program to verify that things are working, as follows:
|
||||
|
||||
make
|
||||
|
||||
If you are using Mini-XML under Microsoft Windows with
|
||||
Visual C++, use the included project files in the "vcnet"
|
||||
subdirectory to build the library instead.
|
||||
If you are using Mini-XML under Microsoft Windows with Visual C++ 2008, use
|
||||
the included project files in the "vcnet" subdirectory to build the library
|
||||
instead.
|
||||
|
||||
|
||||
INSTALLING Mini-XML
|
||||
|
||||
The "install" target will install Mini-XML in the lib and
|
||||
include directories:
|
||||
The "install" target will install Mini-XML in the lib and include
|
||||
directories:
|
||||
|
||||
make install
|
||||
|
||||
Once you have installed it, use the "-lmxml" option to link
|
||||
your application against it.
|
||||
Once you have installed it, use the "-lmxml" option to link your application
|
||||
against it.
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
|
||||
The documentation is available in the "doc" subdirectory in
|
||||
the files "mxml.html" (HTML) and "mxml.pdf" (PDF). You can
|
||||
also look at the "testmxml.c" and "mxmldoc.c" source files
|
||||
for examples of using Mini-XML.
|
||||
The documentation is available in the "doc" subdirectory in the files
|
||||
"mxml.html" (HTML) and "mxml.pdf" (PDF). You can also look at the
|
||||
"testmxml.c" and "mxmldoc.c" source files for examples of using Mini-XML.
|
||||
|
||||
Mini-XML provides a single header file which you include:
|
||||
|
||||
#include <mxml.h>
|
||||
|
||||
Nodes are defined by the "mxml_node_t" structure; the "type"
|
||||
member defines the node type (element, integer, opaque,
|
||||
real, or text) which determines which value you want to look
|
||||
at in the "value" union. New nodes can be created using the
|
||||
"mxmlNewElement()", "mxmlNewInteger()", "mxmlNewOpaque()",
|
||||
"mxmlNewReal()", and "mxmlNewText()" functions. Only
|
||||
elements can have child nodes, and the top node must be an
|
||||
element, usually "?xml".
|
||||
Nodes are defined by the "mxml_node_t" structure; the "type" member defines
|
||||
the node type (element, integer, opaque, real, or text) which determines
|
||||
which value you want to look at in the "value" union. New nodes can be
|
||||
created using the "mxmlNewElement()", "mxmlNewInteger()", "mxmlNewOpaque()",
|
||||
"mxmlNewReal()", and "mxmlNewText()" functions. Only elements can have
|
||||
child nodes, and the top node must be an element, usually "?xml".
|
||||
|
||||
You load an XML file using the "mxmlLoadFile()" function:
|
||||
|
||||
@ -100,8 +92,7 @@ DOCUMENTATION
|
||||
tree = mxmlLoadFile(NULL, fp, MXML_NO_CALLBACK);
|
||||
fclose(fp);
|
||||
|
||||
Similarly, you save an XML file using the "mxmlSaveFile()"
|
||||
function:
|
||||
Similarly, you save an XML file using the "mxmlSaveFile()" function:
|
||||
|
||||
FILE *fp;
|
||||
mxml_node_t *tree;
|
||||
@ -110,9 +101,8 @@ DOCUMENTATION
|
||||
mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);
|
||||
fclose(fp);
|
||||
|
||||
The "mxmlLoadString()", "mxmlSaveAllocString()", and
|
||||
"mxmlSaveString()" functions load XML node trees from and
|
||||
save XML node trees to strings:
|
||||
The "mxmlLoadString()", "mxmlSaveAllocString()", and "mxmlSaveString()"
|
||||
functions load XML node trees from and save XML node trees to strings:
|
||||
|
||||
char buffer[8192];
|
||||
char *ptr;
|
||||
@ -127,14 +117,13 @@ DOCUMENTATION
|
||||
...
|
||||
ptr = mxmlSaveAllocString(tree, MXML_NO_CALLBACK);
|
||||
|
||||
You can find a named element/node using the
|
||||
"mxmlFindElement()" function:
|
||||
You can find a named element/node using the "mxmlFindElement()" function:
|
||||
|
||||
mxml_node_t *node = mxmlFindElement(tree, tree, "name", "attr",
|
||||
"value", MXML_DESCEND);
|
||||
|
||||
The "name", "attr", and "value" arguments can be passed as
|
||||
NULL to act as wildcards, e.g.:
|
||||
The "name", "attr", and "value" arguments can be passed as NULL to act as
|
||||
wildcards, e.g.:
|
||||
|
||||
/* Find the first "a" element */
|
||||
node = mxmlFindElement(tree, tree, "a", NULL, NULL, MXML_DESCEND);
|
||||
@ -167,22 +156,22 @@ DOCUMENTATION
|
||||
... do something ...
|
||||
}
|
||||
|
||||
Finally, once you are done with the XML data, use the
|
||||
"mxmlDelete()" function to recursively free the memory that
|
||||
is used for a particular node or the entire tree:
|
||||
Finally, once you are done with the XML data, use the "mxmlDelete()"
|
||||
function to recursively free the memory that is used for a particular node
|
||||
or the entire tree:
|
||||
|
||||
mxmlDelete(tree);
|
||||
|
||||
|
||||
GETTING HELP AND REPORTING PROBLEMS
|
||||
|
||||
The Mini-XML web site provides access to a discussion forum
|
||||
and bug reporting page:
|
||||
The Mini-XML web site provides access to a discussion forum and bug
|
||||
reporting page:
|
||||
|
||||
http://www.minixml.org/
|
||||
|
||||
|
||||
LEGAL STUFF
|
||||
|
||||
The Mini-XML library is Copyright 2003-2009 by Michael Sweet.
|
||||
License terms are described in the file "COPYING".
|
||||
The Mini-XML library is Copyright 2003-2009 by Michael Sweet. License terms
|
||||
are described in the file "COPYING".
|
||||
|
@ -1,16 +1,2 @@
|
||||
f706377fba630b39fa02fd63642b17e5 2.5 mxml/2.5/mxml-2.5.tar.gz
|
||||
8dfa3d25d9a0146bd24324f5111d9db0 2.4 mxml/2.4/mxml-2.4.tar.gz
|
||||
9b343cd7c7c139a24a382afc31a9a4e6 2.3 mxml/2.3/mxml-2.3-1.i386.rpm
|
||||
2b0d69c35ada70ba9982f15cb05d006b 2.3 mxml/2.3/mxml-2.3.tar.gz
|
||||
ab4ce33a866fc3e0d959e7e208a30acb 2.2.2 mxml/2.2.2/mxml-2.2.2-1.i386.rpm
|
||||
ef69862ad30ef2fe66457415db5b5ab4 2.2.2 mxml/2.2.2/mxml-2.2.2.tar.gz
|
||||
8b8aef306fa58cb693b89399d576864f 2.2.1 mxml/2.2.1/mxml-2.2.1-1.i386.rpm
|
||||
ae8f134cc6e89ca66c0f098068516dbe 2.2.1 mxml/2.2.1/mxml-2.2.1.tar.gz
|
||||
136f9dc7e44aaacc15747bd42222197c 2.2 mxml/2.2/mxml-2.2-1.i386.rpm
|
||||
2c28aedee8a06eac173104a3fccce096 2.2 mxml/2.2/mxml-2.2.tar.gz
|
||||
e30ff88b15f74964e20d80c6577a1cb9 2.1 mxml/2.1/mxml-2.1-1.i386.rpm
|
||||
35f829a907c0319f83a3661591788ed3 2.1 mxml/2.1/mxml-2.1.tar.gz
|
||||
2d010aa0cfc1058aa48b3c03bc3781ec 2.0 mxml/2.0/mxml-2.0-1.i386.rpm
|
||||
bd9194cdbf717550a130789802e5b81c 2.0 mxml/2.0/mxml-2.0.tar.gz
|
||||
9dfb974bd31d60c97bfa394b7f6ca63e 1.3 mxml/1.3/mxml-1.3-1.i386.rpm
|
||||
9b116daa370bf647447d6ffe70e73534 1.3 mxml/1.3/mxml-1.3.tar.gz
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -471,10 +471,10 @@ mxmlIndexEnum</TT>.</P>
|
||||
<LI><TT>MXML_SAX_DATA</TT> - Data (custom, integer, opaque, real, or
|
||||
text) was just read</LI>
|
||||
<LI><TT>MXML_SAX_DIRECTIVE</TT> - A processing directive was just read</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_CLOSE</TT> - An open element was just read (<TT>
|
||||
<element></TT>)</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_OPEN</TT> - A close element was just read (<TT>
|
||||
<LI><TT>MXML_SAX_ELEMENT_CLOSE</TT> - A close element was just read (<TT>
|
||||
</element></TT>)</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_OPEN</TT> - An open element was just read (<TT>
|
||||
<element></TT>)</LI>
|
||||
</UL>
|
||||
<P>Elements are<EM> released</EM> after the close element is processed.
|
||||
All other nodes are released after they are processed. The SAX callback
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -68,10 +68,10 @@ hspace="10" src="2.gif" width="100"></A>Getting Started with Mini-XML</H1>
|
||||
<H2><A NAME="3_2">Nodes</A></H2>
|
||||
<P>Every piece of information in an XML file (elements, text, numbers)
|
||||
is stored in memory in "nodes". Nodes are defined by the <A href="reference.html#mxml_node_t">
|
||||
<TT>mxml_node_t</TT></A> structure. The <A href="#mxml_type_t"><TT>type</TT>
|
||||
</A> member defines the node type (element, integer, opaque, real, or
|
||||
text) which determines which value you want to look at in the <A href="reference.html#mxml_value_t">
|
||||
<TT>value</TT></A> union.</P>
|
||||
<TT>mxml_node_t</TT></A> structure. The <A href="reference.html#mxml_type_t">
|
||||
<TT>type</TT></A> member defines the node type (element, integer,
|
||||
opaque, real, or text) which determines which value you want to look at
|
||||
in the <A href="reference.html#mxml_value_t"><TT>value</TT></A> union.</P>
|
||||
|
||||
<!-- NEED 10 -->
|
||||
<CENTER>
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -70,7 +70,12 @@ A { text-decoration: none }
|
||||
</UL>
|
||||
<B><A HREF="mxmldoc.html#MXMLDOC">Using the mxmldoc Utility</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="mxmldoc.html#5_1">The Basics</A></LI>
|
||||
<LI><A HREF="mxmldoc.html#5_1">The Basics</A>
|
||||
<UL>
|
||||
<LI><A HREF="mxmldoc.html#5_1_1">Creating Man Pages</A></LI>
|
||||
<LI><A HREF="mxmldoc.html#5_1_2">Creating Xcode Documentation Sets</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI><A HREF="mxmldoc.html#5_2">Commenting Your Code</A></LI>
|
||||
<LI><A HREF="mxmldoc.html#5_3">Titles, Sections, and Introductions</A></LI>
|
||||
</UL>
|
||||
@ -151,6 +156,7 @@ mxml_custom_destroy_cb_t</A></LI>
|
||||
</LI>
|
||||
<LI><A HREF="reference.html#8_3_5">mxml_custom_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_element_t">mxml_element_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_entity_cb_t">mxml_entity_cb_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_error_cb_t">mxml_error_cb_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_index_t">mxml_index_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_load_cb_t">mxml_load_cb_t</A></LI>
|
||||
@ -159,6 +165,7 @@ mxml_custom_destroy_cb_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_sax_cb_t">mxml_sax_cb_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_sax_event_t">mxml_sax_event_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_text_t">mxml_text_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_type_t">mxml_type_t</A></LI>
|
||||
<LI><A HREF="reference.html#mxml_value_t">mxml_value_t</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -28,7 +28,7 @@ A { text-decoration: none }
|
||||
<HR NOSHADE>
|
||||
<H1 align="right"><A name="INTRO"><IMG align="right" alt="0" height="100"
|
||||
hspace="10" src="0.gif" width="100"></A>Introduction</H1>
|
||||
<P>This programmers manual describes Mini-XML version 2.5, a small XML
|
||||
<P>This programmers manual describes Mini-XML version 2.6, a small XML
|
||||
parsing library that you can use to read and write XML data files in
|
||||
your C and C++ applications.</P>
|
||||
<P>Mini-XML was initially developed for the <A href="http://gutenprint.sf.net/">
|
||||
@ -54,12 +54,13 @@ libxml2</TT> library with something substantially smaller and
|
||||
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 your project
|
||||
added or removed from this list, or if you have any comments/quotes you
|
||||
would like me to publish about your experiences with Mini-XML.</P>
|
||||
|
||||
<!-- NEED 1in -->
|
||||
<H2><A NAME="1_1">Organization of This Document</A></H2>
|
||||
<P>This manual is organized into the following chapters and appendices:</P>
|
||||
<UL>
|
||||
@ -90,14 +91,14 @@ libxml2</TT> library with something substantially smaller and
|
||||
<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>
|
||||
<DT><CODE>mxmldoc</CODE>
|
||||
<BR> <CODE>mxmldoc(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>
|
||||
<BR><VAR> /etc/hosts</VAR></DT>
|
||||
<DD>File and directory names.
|
||||
<BR>
|
||||
<BR></DD>
|
||||
@ -164,16 +165,9 @@ libxml2</TT> library with something substantially smaller and
|
||||
|
||||
<!-- NEED 6 -->
|
||||
<H2><A NAME="1_5">Legal Stuff</A></H2>
|
||||
<P>The Mini-XML library is copyright 2003-2008 by Michael Sweet.</P>
|
||||
<P>This library is free software; you can redistribute it and/or modify
|
||||
it under the terms of the <A href="license.html#LICENSE">GNU Library
|
||||
General Public License</A> as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.</P>
|
||||
<P>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.</P>
|
||||
<P>The Mini-XML library is copyright 2003-2009 by Michael Sweet. License
|
||||
terms are described in <A href="license.html#LICENSE">Appendix A -
|
||||
Mini-XML License</A>.</P>
|
||||
<HR NOSHADE>
|
||||
<A HREF="index.html">Contents</A>
|
||||
<A HREF="install.html">Next</A>
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -47,6 +47,8 @@ hspace="10" src="A.gif" width="100"></A>Mini-XML License</H1>
|
||||
identify the Mini-XML license in your program or documentation as
|
||||
required by section 6 of the LGPL.</LI>
|
||||
</OL>
|
||||
|
||||
<!-- NEW PAGE -->
|
||||
<P align="center"><B>GNU LIBRARY GENERAL PUBLIC LICENSE</B></P>
|
||||
<P align="center">Version 2, June 1991
|
||||
<BR> Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -64,6 +64,7 @@ hspace="10" src="4.gif" width="100"></A>Using the mxmldoc Utility</H1>
|
||||
<PRE>
|
||||
<KBD>mxmldoc filename.xml >filename.html ENTER</KBD>
|
||||
</PRE>
|
||||
<H3><A NAME="5_1_1">Creating Man Pages</A></H3>
|
||||
<P>The <TT>--man filename</TT> option tells <TT>mxmldoc</TT> to create a
|
||||
man page instead of HTML documentation, for example:</P>
|
||||
<PRE>
|
||||
@ -72,10 +73,16 @@ hspace="10" src="4.gif" width="100"></A>Using the mxmldoc Utility</H1>
|
||||
|
||||
<KBD>mxmldoc --man filename *.h *.c \
|
||||
>filename.man ENTER</KBD>
|
||||
|
||||
<KBD>mxmldoc --man filename filename.xml *.h *.c \
|
||||
>filename.man ENTER</KBD>
|
||||
</PRE>
|
||||
<H3><A NAME="5_1_2">Creating Xcode Documentation Sets</A></H3>
|
||||
<P>The <TT>--docset directory.docset</TT> option tells <TT>mxmldoc</TT>
|
||||
to create an Xcode documentation set containing the HTML documentation,
|
||||
for example:</P>
|
||||
<PRE>
|
||||
<KBD>mxmldoc --docset foo.docset *.h *.c foo.xml ENTER</KBD>
|
||||
</PRE>
|
||||
<P>Xcode documentation sets can only be built on Mac OS X with Xcode 3.0
|
||||
or higher installed.</P>
|
||||
<H2><A NAME="5_2">Commenting Your Code</A></H2>
|
||||
<P>As noted previously, <TT>mxmldoc</TT> looks for in-line comments to
|
||||
describe the functions, types, and constants in your code. <TT>Mxmldoc</TT>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
@ -30,7 +30,27 @@ A { text-decoration: none }
|
||||
<HR NOSHADE>
|
||||
<H1 align="right"><A name="RELNOTES"><IMG align="right" alt="B" height="100"
|
||||
hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<H2><A NAME="7_1">Changes in Mini-XML 2.5</A></H2>
|
||||
<H2><A NAME="7_1">Changes in Mini-XML 2.6</A></H2>
|
||||
<UL>
|
||||
<LI>Documentation fixes (STR #91, STR #92)</LI>
|
||||
<LI>The mxmldoc program did not handle typedef comments properly (STR
|
||||
#72)</LI>
|
||||
<LI>Added support for "long long" printf formats.</LI>
|
||||
<LI>The XML parser now rejects UTF-8 XML files that start with a BOM
|
||||
(STR #89)</LI>
|
||||
<LI>The mxmldoc program now supports generating Xcode documentation
|
||||
sets.</LI>
|
||||
<LI>mxmlSave*() did not output UTF-8 correctly on some platforms.</LI>
|
||||
<LI>mxmlNewXML() now adds encoding="utf-8" in the ?xml directive to
|
||||
avoid problems with non-conformant XML parsers that assume something
|
||||
other than UTF-8 as the default encoding.</LI>
|
||||
<LI>Wrapping was not disabled when mxmlSetWrapMargin(0) was called, and
|
||||
"<?xml ... ?>" was always followed by a newline (STR #76)</LI>
|
||||
<LI>The mxml.pc.in file was broken (STR #79)</LI>
|
||||
<LI>The mxmldoc program now handles "typedef enum name {} name"
|
||||
correctly (STR #72)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_2">Changes in Mini-XML 2.5</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmldoc program now makes greater use of CSS and supports a
|
||||
--css option to embed an alternate stylesheet.</LI>
|
||||
@ -47,7 +67,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
top level of a document (STR #67)</LI>
|
||||
<LI>Spaces around the "=" in attributes were not supported (STR #67)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_2">Changes in Mini-XML 2.4</A></H2>
|
||||
<H2><A NAME="7_3">Changes in Mini-XML 2.4</A></H2>
|
||||
<UL>
|
||||
<LI>Fixed shared library build problems on HP-UX and Mac OS X.</LI>
|
||||
<LI>The mxmldoc program did not output argument descriptions for
|
||||
@ -67,7 +87,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlWalkNext() and mxmlWalkPrev() did not work correctly when called
|
||||
with a node with no children as the top node (STR #53)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_3">Changes in Mini-XML 2.3</A></H2>
|
||||
<H2><A NAME="7_4">Changes in Mini-XML 2.3</A></H2>
|
||||
<UL>
|
||||
<LI>Added two exceptions to the LGPL to support static linking of
|
||||
applications against Mini-XML</LI>
|
||||
@ -105,12 +125,12 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
|
||||
characters would be lost</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_4">Changes in Mini-XML 2.2.2</A></H2>
|
||||
<H2><A NAME="7_5">Changes in Mini-XML 2.2.2</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
|
||||
characters would be lost.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_5">Changes in Mini-XML 2.2.1</A></H2>
|
||||
<H2><A NAME="7_6">Changes in Mini-XML 2.2.1</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly
|
||||
return NULL on error (STR #21)</LI>
|
||||
@ -121,7 +141,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
proper permissions on UNIX/Linux/OSX.</LI>
|
||||
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_6">Changes in Mini-XML 2.2</A></H2>
|
||||
<H2><A NAME="7_7">Changes in Mini-XML 2.2</A></H2>
|
||||
<UL>
|
||||
<LI>Added shared library support (STR #17)</LI>
|
||||
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal
|
||||
@ -135,7 +155,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added checking for invalid comment termination ("--->" is not
|
||||
allowed)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_7">Changes in Mini-XML 2.1</A></H2>
|
||||
<H2><A NAME="7_8">Changes in Mini-XML 2.1</A></H2>
|
||||
<UL>
|
||||
<LI>Added support for custom data nodes (STR #6)</LI>
|
||||
<LI>Now treat UTF-8 sequences which are longer than necessary as an
|
||||
@ -146,7 +166,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI>
|
||||
<LI>Fixed multi-word UTF-16 handling.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_8">Changes in Mini-XML 2.0</A></H2>
|
||||
<H2><A NAME="7_9">Changes in Mini-XML 2.0</A></H2>
|
||||
<UL>
|
||||
<LI>New programmers manual.</LI>
|
||||
<LI>Added Visual C++ project files for Microsoft Windows users.</LI>
|
||||
@ -179,7 +199,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
destination path and install path. This caused problems when building
|
||||
and installing with MingW.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_9">Changes in Mini-XML 1.3</A></H2>
|
||||
<H2><A NAME="7_10">Changes in Mini-XML 1.3</A></H2>
|
||||
<UL>
|
||||
<LI>Fixes for mxmldoc.</LI>
|
||||
<LI>Added support for reading standard HTML entity names.</LI>
|
||||
@ -195,7 +215,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>The load and save functions now properly handle quoted element and
|
||||
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_10">Changes in Mini-XML 1.2</A></H2>
|
||||
<H2><A NAME="7_11">Changes in Mini-XML 1.2</A></H2>
|
||||
<UL>
|
||||
<LI>Added new "set" methods to set the value of a node.</LI>
|
||||
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf()
|
||||
@ -208,13 +228,13 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added --with/without-snprintf configure option to control the
|
||||
snprintf() and vsnprintf() function checks.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_11">Changes in Mini-XML 1.1.2</A></H2>
|
||||
<H2><A NAME="7_12">Changes in Mini-XML 1.1.2</A></H2>
|
||||
<UL>
|
||||
<LI>The mxml(3) man page wasn't updated for the string functions.</LI>
|
||||
<LI>mxmlSaveString() returned the wrong number of characters.</LI>
|
||||
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_12">Changes in Mini-XML 1.1.1</A></H2>
|
||||
<H2><A NAME="7_13">Changes in Mini-XML 1.1.1</A></H2>
|
||||
<UL>
|
||||
<LI>The private mxml_add_ch() function did not update the
|
||||
start-of-buffer pointer which could cause a crash when using
|
||||
@ -225,7 +245,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML
|
||||
node tree to an allocated string.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_13">Changes in Mini-XML 1.1</A></H2>
|
||||
<H2><A NAME="7_14">Changes in Mini-XML 1.1</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmlLoadFile() function now uses dynamically allocated string
|
||||
buffers for element names, attribute names, and attribute values.
|
||||
@ -237,7 +257,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Add emulation of strdup() if the local platform does not provide the
|
||||
function.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_14">Changes in Mini-XML 1.0</A></H2>
|
||||
<H2><A NAME="7_15">Changes in Mini-XML 1.0</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmldoc program now handles function arguments, structures,
|
||||
unions, enumerations, classes, and typedefs properly.</LI>
|
||||
@ -245,7 +265,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
code.</LI>
|
||||
<LI>Added man pages and packaging files.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_15">Changes in Mini-XML 0.93</A></H2>
|
||||
<H2><A NAME="7_16">Changes in Mini-XML 0.93</A></H2>
|
||||
<UL>
|
||||
<LI>New mxmldoc example program that is also used to create and update
|
||||
code documentation using XML and produce HTML reference pages.</LI>
|
||||
@ -270,15 +290,15 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlSaveFile() now supports a whitespace callback to provide more
|
||||
human-readable XML output under program control.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_16">Changes in Mini-XML 0.92</A></H2>
|
||||
<H2><A NAME="7_17">Changes in Mini-XML 0.92</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlSaveFile() didn't return a value on success.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_17">Changes in Mini-XML 0.91</A></H2>
|
||||
<H2><A NAME="7_18">Changes in Mini-XML 0.91</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlWalkNext() would go into an infinite loop.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_18">Changes in Mini-XML 0.9</A></H2>
|
||||
<H2><A NAME="7_19">Changes in Mini-XML 0.9</A></H2>
|
||||
<UL>
|
||||
<LI>Initial public release.</LI>
|
||||
</UL>
|
||||
|
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<LINK REL="Start" HREF="index.html">
|
||||
<LINK REL="Contents" HREF="index.html">
|
||||
|
@ -11,11 +11,23 @@ include_once "phplib/poll.php";
|
||||
|
||||
html_header();
|
||||
|
||||
$fp = fopen("data/software.md5", "r");
|
||||
$line = fgets($fp, 255);
|
||||
$data = explode(" ", $line);
|
||||
fclose($fp);
|
||||
|
||||
$version = $data[1];
|
||||
$file = $data[2];
|
||||
|
||||
?>
|
||||
|
||||
<h1><img src='images/logo-large.gif' style='margin-left: 20px; float: right;'
|
||||
width='150' height='150' alt='Mini-XML logo'>Mini-XML: Lightweight XML
|
||||
Library</h1>
|
||||
<div style='margin-left: 20px; float: right; line-height: 200%;
|
||||
text-align: center;'><a
|
||||
href='software.php?FILE=<?print($file);?>&VERSION=<?print($version);?>'><img
|
||||
src='images/logo-large.gif' width='150' height='150' alt='Mini-XML logo'><br>
|
||||
Download v<?print($version);?></a></div>
|
||||
|
||||
<h1>Mini-XML: Lightweight XML Library</h1>
|
||||
|
||||
<p>Mini-XML is a small XML library that you can use to read and write XML and
|
||||
XML-like data files in your application without requiring large non-standard
|
||||
|
153
www/mxml.html
153
www/mxml.html
@ -1,9 +1,9 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.5</TITLE>
|
||||
<TITLE>Mini-XML Programmers Manual, Version 2.6</TITLE>
|
||||
<META NAME="author" CONTENT="Michael R. Sweet">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2008">
|
||||
<META NAME="copyright" CONTENT="Copyright 2003-2009">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-iso-8859-1">
|
||||
<STYLE TYPE="text/css"><!--
|
||||
BODY { font-family: sans-serif }
|
||||
@ -66,7 +66,12 @@ A { text-decoration: none }
|
||||
</UL>
|
||||
<B><A HREF="#MXMLDOC">Using the mxmldoc Utility</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#5_1">The Basics</A></LI>
|
||||
<LI><A HREF="#5_1">The Basics</A>
|
||||
<UL>
|
||||
<LI><A HREF="#5_1_1">Creating Man Pages</A></LI>
|
||||
<LI><A HREF="#5_1_2">Creating Xcode Documentation Sets</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI><A HREF="#5_2">Commenting Your Code</A></LI>
|
||||
<LI><A HREF="#5_3">Titles, Sections, and Introductions</A></LI>
|
||||
</UL>
|
||||
@ -140,6 +145,7 @@ A { text-decoration: none }
|
||||
<LI><A HREF="#mxml_custom_save_cb_t">mxml_custom_save_cb_t</A></LI>
|
||||
<LI><A HREF="#8_3_5">mxml_custom_t</A></LI>
|
||||
<LI><A HREF="#mxml_element_t">mxml_element_t</A></LI>
|
||||
<LI><A HREF="#mxml_entity_cb_t">mxml_entity_cb_t</A></LI>
|
||||
<LI><A HREF="#mxml_error_cb_t">mxml_error_cb_t</A></LI>
|
||||
<LI><A HREF="#mxml_index_t">mxml_index_t</A></LI>
|
||||
<LI><A HREF="#mxml_load_cb_t">mxml_load_cb_t</A></LI>
|
||||
@ -148,6 +154,7 @@ A { text-decoration: none }
|
||||
<LI><A HREF="#mxml_sax_cb_t">mxml_sax_cb_t</A></LI>
|
||||
<LI><A HREF="#mxml_sax_event_t">mxml_sax_event_t</A></LI>
|
||||
<LI><A HREF="#mxml_text_t">mxml_text_t</A></LI>
|
||||
<LI><A HREF="#mxml_type_t">mxml_type_t</A></LI>
|
||||
<LI><A HREF="#mxml_value_t">mxml_value_t</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
@ -178,7 +185,7 @@ A { text-decoration: none }
|
||||
<HR NOSHADE>
|
||||
<H1 align="right"><A name="INTRO"><IMG align="right" alt="0" height="100"
|
||||
hspace="10" src="0.gif" width="100"></A>Introduction</H1>
|
||||
<P>This programmers manual describes Mini-XML version 2.5, a small XML
|
||||
<P>This programmers manual describes Mini-XML version 2.6, a small XML
|
||||
parsing library that you can use to read and write XML data files in
|
||||
your C and C++ applications.</P>
|
||||
<P>Mini-XML was initially developed for the <A href="http://gutenprint.sf.net/">
|
||||
@ -204,12 +211,13 @@ libxml2</TT> library with something substantially smaller and
|
||||
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 your project
|
||||
added or removed from this list, or if you have any comments/quotes you
|
||||
would like me to publish about your experiences with Mini-XML.</P>
|
||||
|
||||
<!-- NEED 1in -->
|
||||
<H2><A NAME="1_1">Organization of This Document</A></H2>
|
||||
<P>This manual is organized into the following chapters and appendices:</P>
|
||||
<UL>
|
||||
@ -238,14 +246,14 @@ libxml2</TT> library with something substantially smaller and
|
||||
<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>
|
||||
<DT><CODE>mxmldoc</CODE>
|
||||
<BR> <CODE>mxmldoc(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>
|
||||
<BR><VAR> /etc/hosts</VAR></DT>
|
||||
<DD>File and directory names.
|
||||
<BR>
|
||||
<BR></DD>
|
||||
@ -312,15 +320,9 @@ libxml2</TT> library with something substantially smaller and
|
||||
|
||||
<!-- NEED 6 -->
|
||||
<H2><A NAME="1_5">Legal Stuff</A></H2>
|
||||
<P>The Mini-XML library is copyright 2003-2008 by Michael Sweet.</P>
|
||||
<P>This library is free software; you can redistribute it and/or modify
|
||||
it under the terms of the <A href="#LICENSE">GNU Library General Public
|
||||
License</A> as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.</P>
|
||||
<P>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.</P>
|
||||
<P>The Mini-XML library is copyright 2003-2009 by Michael Sweet. License
|
||||
terms are described in <A href="#LICENSE">Appendix A - Mini-XML License</A>
|
||||
.</P>
|
||||
<HR NOSHADE>
|
||||
<H1 align="right"><A name="INSTALL"><IMG align="right" alt="1" height="100"
|
||||
hspace="10" src="1.gif" width="100"></A>Building, Installing, and
|
||||
@ -1246,10 +1248,10 @@ mxmlSAXLoadString</TT></A> functions provide the SAX loading APIs. Each
|
||||
<LI><TT>MXML_SAX_DATA</TT> - Data (custom, integer, opaque, real, or
|
||||
text) was just read</LI>
|
||||
<LI><TT>MXML_SAX_DIRECTIVE</TT> - A processing directive was just read</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_CLOSE</TT> - An open element was just read (<TT>
|
||||
<element></TT>)</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_OPEN</TT> - A close element was just read (<TT>
|
||||
<LI><TT>MXML_SAX_ELEMENT_CLOSE</TT> - A close element was just read (<TT>
|
||||
</element></TT>)</LI>
|
||||
<LI><TT>MXML_SAX_ELEMENT_OPEN</TT> - An open element was just read (<TT>
|
||||
<element></TT>)</LI>
|
||||
</UL>
|
||||
<P>Elements are<EM> released</EM> after the close element is processed.
|
||||
All other nodes are released after they are processed. The SAX callback
|
||||
@ -1381,6 +1383,7 @@ hspace="10" src="4.gif" width="100"></A>Using the mxmldoc Utility</H1>
|
||||
<PRE>
|
||||
<KBD>mxmldoc filename.xml >filename.html ENTER</KBD>
|
||||
</PRE>
|
||||
<H3><A NAME="5_1_1">Creating Man Pages</A></H3>
|
||||
<P>The <TT>--man filename</TT> option tells <TT>mxmldoc</TT> to create a
|
||||
man page instead of HTML documentation, for example:</P>
|
||||
<PRE>
|
||||
@ -1389,10 +1392,16 @@ hspace="10" src="4.gif" width="100"></A>Using the mxmldoc Utility</H1>
|
||||
|
||||
<KBD>mxmldoc --man filename *.h *.c \
|
||||
>filename.man ENTER</KBD>
|
||||
|
||||
<KBD>mxmldoc --man filename filename.xml *.h *.c \
|
||||
>filename.man ENTER</KBD>
|
||||
</PRE>
|
||||
<H3><A NAME="5_1_2">Creating Xcode Documentation Sets</A></H3>
|
||||
<P>The <TT>--docset directory.docset</TT> option tells <TT>mxmldoc</TT>
|
||||
to create an Xcode documentation set containing the HTML documentation,
|
||||
for example:</P>
|
||||
<PRE>
|
||||
<KBD>mxmldoc --docset foo.docset *.h *.c foo.xml ENTER</KBD>
|
||||
</PRE>
|
||||
<P>Xcode documentation sets can only be built on Mac OS X with Xcode 3.0
|
||||
or higher installed.</P>
|
||||
<H2><A NAME="5_2">Commenting Your Code</A></H2>
|
||||
<P>As noted previously, <TT>mxmldoc</TT> looks for in-line comments to
|
||||
describe the functions, types, and constants in your code. <TT>Mxmldoc</TT>
|
||||
@ -1509,6 +1518,8 @@ hspace="10" src="A.gif" width="100"></A>Mini-XML License</H1>
|
||||
identify the Mini-XML license in your program or documentation as
|
||||
required by section 6 of the LGPL.</LI>
|
||||
</OL>
|
||||
|
||||
<!-- NEW PAGE -->
|
||||
<P align="center"><B>GNU LIBRARY GENERAL PUBLIC LICENSE</B></P>
|
||||
<P align="center">Version 2, June 1991
|
||||
<BR> Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
@ -1925,7 +1936,27 @@ hspace="10" src="A.gif" width="100"></A>Mini-XML License</H1>
|
||||
<HR NOSHADE>
|
||||
<H1 align="right"><A name="RELNOTES"><IMG align="right" alt="B" height="100"
|
||||
hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<H2><A NAME="7_1">Changes in Mini-XML 2.5</A></H2>
|
||||
<H2><A NAME="7_1">Changes in Mini-XML 2.6</A></H2>
|
||||
<UL>
|
||||
<LI>Documentation fixes (STR #91, STR #92)</LI>
|
||||
<LI>The mxmldoc program did not handle typedef comments properly (STR
|
||||
#72)</LI>
|
||||
<LI>Added support for "long long" printf formats.</LI>
|
||||
<LI>The XML parser now rejects UTF-8 XML files that start with a BOM
|
||||
(STR #89)</LI>
|
||||
<LI>The mxmldoc program now supports generating Xcode documentation
|
||||
sets.</LI>
|
||||
<LI>mxmlSave*() did not output UTF-8 correctly on some platforms.</LI>
|
||||
<LI>mxmlNewXML() now adds encoding="utf-8" in the ?xml directive to
|
||||
avoid problems with non-conformant XML parsers that assume something
|
||||
other than UTF-8 as the default encoding.</LI>
|
||||
<LI>Wrapping was not disabled when mxmlSetWrapMargin(0) was called, and
|
||||
"<?xml ... ?>" was always followed by a newline (STR #76)</LI>
|
||||
<LI>The mxml.pc.in file was broken (STR #79)</LI>
|
||||
<LI>The mxmldoc program now handles "typedef enum name {} name"
|
||||
correctly (STR #72)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_2">Changes in Mini-XML 2.5</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmldoc program now makes greater use of CSS and supports a
|
||||
--css option to embed an alternate stylesheet.</LI>
|
||||
@ -1942,7 +1973,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
top level of a document (STR #67)</LI>
|
||||
<LI>Spaces around the "=" in attributes were not supported (STR #67)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_2">Changes in Mini-XML 2.4</A></H2>
|
||||
<H2><A NAME="7_3">Changes in Mini-XML 2.4</A></H2>
|
||||
<UL>
|
||||
<LI>Fixed shared library build problems on HP-UX and Mac OS X.</LI>
|
||||
<LI>The mxmldoc program did not output argument descriptions for
|
||||
@ -1962,7 +1993,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlWalkNext() and mxmlWalkPrev() did not work correctly when called
|
||||
with a node with no children as the top node (STR #53)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_3">Changes in Mini-XML 2.3</A></H2>
|
||||
<H2><A NAME="7_4">Changes in Mini-XML 2.3</A></H2>
|
||||
<UL>
|
||||
<LI>Added two exceptions to the LGPL to support static linking of
|
||||
applications against Mini-XML</LI>
|
||||
@ -2000,12 +2031,12 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
|
||||
characters would be lost</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_4">Changes in Mini-XML 2.2.2</A></H2>
|
||||
<H2><A NAME="7_5">Changes in Mini-XML 2.2.2</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlLoad*() did not treat custom data as opaque, so whitespace
|
||||
characters would be lost.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_5">Changes in Mini-XML 2.2.1</A></H2>
|
||||
<H2><A NAME="7_6">Changes in Mini-XML 2.2.1</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlLoadFd(), mxmlLoadFile(), and mxmlLoadString() now correctly
|
||||
return NULL on error (STR #21)</LI>
|
||||
@ -2016,7 +2047,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
proper permissions on UNIX/Linux/OSX.</LI>
|
||||
<LI>Fixed a MingW/Cygwin compilation problem (STR #18)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_6">Changes in Mini-XML 2.2</A></H2>
|
||||
<H2><A NAME="7_7">Changes in Mini-XML 2.2</A></H2>
|
||||
<UL>
|
||||
<LI>Added shared library support (STR #17)</LI>
|
||||
<LI>mxmlLoad*() now returns an error when an XML stream contains illegal
|
||||
@ -2030,7 +2061,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added checking for invalid comment termination ("--->" is not
|
||||
allowed)</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_7">Changes in Mini-XML 2.1</A></H2>
|
||||
<H2><A NAME="7_8">Changes in Mini-XML 2.1</A></H2>
|
||||
<UL>
|
||||
<LI>Added support for custom data nodes (STR #6)</LI>
|
||||
<LI>Now treat UTF-8 sequences which are longer than necessary as an
|
||||
@ -2041,7 +2072,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added mxmlLoadFd() and mxmlSaveFd() functions.</LI>
|
||||
<LI>Fixed multi-word UTF-16 handling.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_8">Changes in Mini-XML 2.0</A></H2>
|
||||
<H2><A NAME="7_9">Changes in Mini-XML 2.0</A></H2>
|
||||
<UL>
|
||||
<LI>New programmers manual.</LI>
|
||||
<LI>Added Visual C++ project files for Microsoft Windows users.</LI>
|
||||
@ -2074,7 +2105,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
destination path and install path. This caused problems when building
|
||||
and installing with MingW.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_9">Changes in Mini-XML 1.3</A></H2>
|
||||
<H2><A NAME="7_10">Changes in Mini-XML 1.3</A></H2>
|
||||
<UL>
|
||||
<LI>Fixes for mxmldoc.</LI>
|
||||
<LI>Added support for reading standard HTML entity names.</LI>
|
||||
@ -2090,7 +2121,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>The load and save functions now properly handle quoted element and
|
||||
attribute name strings properly, e.g. for !DOCTYPE declarations.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_10">Changes in Mini-XML 1.2</A></H2>
|
||||
<H2><A NAME="7_11">Changes in Mini-XML 1.2</A></H2>
|
||||
<UL>
|
||||
<LI>Added new "set" methods to set the value of a node.</LI>
|
||||
<LI>Added new formatted text methods mxmlNewTextf() and mxmlSetTextf()
|
||||
@ -2103,13 +2134,13 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added --with/without-snprintf configure option to control the
|
||||
snprintf() and vsnprintf() function checks.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_11">Changes in Mini-XML 1.1.2</A></H2>
|
||||
<H2><A NAME="7_12">Changes in Mini-XML 1.1.2</A></H2>
|
||||
<UL>
|
||||
<LI>The mxml(3) man page wasn't updated for the string functions.</LI>
|
||||
<LI>mxmlSaveString() returned the wrong number of characters.</LI>
|
||||
<LI>mxml_add_char() updated the buffer pointer in the wrong place.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_12">Changes in Mini-XML 1.1.1</A></H2>
|
||||
<H2><A NAME="7_13">Changes in Mini-XML 1.1.1</A></H2>
|
||||
<UL>
|
||||
<LI>The private mxml_add_ch() function did not update the
|
||||
start-of-buffer pointer which could cause a crash when using
|
||||
@ -2120,7 +2151,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Added a mxmlSaveAllocString() convenience function for saving an XML
|
||||
node tree to an allocated string.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_13">Changes in Mini-XML 1.1</A></H2>
|
||||
<H2><A NAME="7_14">Changes in Mini-XML 1.1</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmlLoadFile() function now uses dynamically allocated string
|
||||
buffers for element names, attribute names, and attribute values.
|
||||
@ -2132,7 +2163,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>Add emulation of strdup() if the local platform does not provide the
|
||||
function.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_14">Changes in Mini-XML 1.0</A></H2>
|
||||
<H2><A NAME="7_15">Changes in Mini-XML 1.0</A></H2>
|
||||
<UL>
|
||||
<LI>The mxmldoc program now handles function arguments, structures,
|
||||
unions, enumerations, classes, and typedefs properly.</LI>
|
||||
@ -2140,7 +2171,7 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
code.</LI>
|
||||
<LI>Added man pages and packaging files.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_15">Changes in Mini-XML 0.93</A></H2>
|
||||
<H2><A NAME="7_16">Changes in Mini-XML 0.93</A></H2>
|
||||
<UL>
|
||||
<LI>New mxmldoc example program that is also used to create and update
|
||||
code documentation using XML and produce HTML reference pages.</LI>
|
||||
@ -2165,15 +2196,15 @@ hspace="10" src="B.gif" width="100"></A>Release Notes</H1>
|
||||
<LI>mxmlSaveFile() now supports a whitespace callback to provide more
|
||||
human-readable XML output under program control.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_16">Changes in Mini-XML 0.92</A></H2>
|
||||
<H2><A NAME="7_17">Changes in Mini-XML 0.92</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlSaveFile() didn't return a value on success.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_17">Changes in Mini-XML 0.91</A></H2>
|
||||
<H2><A NAME="7_18">Changes in Mini-XML 0.91</A></H2>
|
||||
<UL>
|
||||
<LI>mxmlWalkNext() would go into an infinite loop.</LI>
|
||||
</UL>
|
||||
<H2><A NAME="7_18">Changes in Mini-XML 0.9</A></H2>
|
||||
<H2><A NAME="7_19">Changes in Mini-XML 0.9</A></H2>
|
||||
<UL>
|
||||
<LI>Initial public release.</LI>
|
||||
</UL>
|
||||
@ -2299,6 +2330,8 @@ mxml_custom_save_cb_t</A></LI>
|
||||
</LI>
|
||||
<LI><A href="#mxml_element_t" title="An XML element value.">
|
||||
mxml_element_t</A></LI>
|
||||
<LI><A href="#mxml_entity_cb_t" title="Entity callback function">
|
||||
mxml_entity_cb_t</A></LI>
|
||||
<LI><A href="#mxml_error_cb_t" title="Error callback function">
|
||||
mxml_error_cb_t</A></LI>
|
||||
<LI><A href="#mxml_index_t" title="An XML node index.">mxml_index_t</A></LI>
|
||||
@ -2312,6 +2345,7 @@ mxml_save_cb_t</A></LI>
|
||||
<LI><A href="#mxml_sax_event_t" title="SAX event type.">mxml_sax_event_t</A>
|
||||
</LI>
|
||||
<LI><A href="#mxml_text_t" title="An XML text value.">mxml_text_t</A></LI>
|
||||
<LI><A href="#mxml_type_t" title="The XML node type.">mxml_type_t</A></LI>
|
||||
<LI><A href="#mxml_value_t" title="An XML node value.">mxml_value_t</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
@ -2340,7 +2374,6 @@ mxml_element_s</A></LI>
|
||||
<LI><A href="#mxml_type_e" title="The XML node type.">mxml_type_e</A></LI>
|
||||
</UL>
|
||||
</LI>
|
||||
</UL>
|
||||
<H2 class="title"><A name="FUNCTIONS">Functions</A></H2>
|
||||
<H3 class="function"><A name="mxmlAdd">mxmlAdd</A></H3>
|
||||
<P class="description">Add a node to a tree.</P>
|
||||
@ -2466,7 +2499,14 @@ mxml_element_s</A></LI>
|
||||
<H3 class="function"><A name="mxmlEntityAddCallback">
|
||||
mxmlEntityAddCallback</A></H3>
|
||||
<P class="description">Add a callback to convert entities to Unicode.</P>
|
||||
<P class="code"> int mxmlEntityAddCallback (void);</P>
|
||||
<P class="code"> int mxmlEntityAddCallback (
|
||||
<BR> <A href="#mxml_entity_cb_t">mxml_entity_cb_t</A> cb
|
||||
<BR> );</P>
|
||||
<H4 class="parameters">Parameters</H4>
|
||||
<DL>
|
||||
<DT>cb</DT>
|
||||
<DD class="description">Callback function to add</DD>
|
||||
</DL>
|
||||
<H4 class="returnvalue">Return Value</H4>
|
||||
<P class="description">0 on success, -1 on failure</P>
|
||||
<H3 class="function"><A name="mxmlEntityGetName">mxmlEntityGetName</A></H3>
|
||||
@ -2504,7 +2544,14 @@ mxmlEntityAddCallback</A></H3>
|
||||
<H3 class="function"><A name="mxmlEntityRemoveCallback">
|
||||
mxmlEntityRemoveCallback</A></H3>
|
||||
<P class="description">Remove a callback.</P>
|
||||
<P class="code"> void mxmlEntityRemoveCallback (void);</P>
|
||||
<P class="code"> void mxmlEntityRemoveCallback (
|
||||
<BR> <A href="#mxml_entity_cb_t">mxml_entity_cb_t</A> cb
|
||||
<BR> );</P>
|
||||
<H4 class="parameters">Parameters</H4>
|
||||
<DL>
|
||||
<DT>cb</DT>
|
||||
<DD class="description">Callback function to remove</DD>
|
||||
</DL>
|
||||
<H3 class="function"><A name="mxmlFindElement">mxmlFindElement</A></H3>
|
||||
<P class="description">Find the named element.</P>
|
||||
<P class="code"> <A href="#mxml_node_t">mxml_node_t</A> *mxmlFindElement
|
||||
@ -3405,10 +3452,10 @@ mxmlSetCustomHandlers</A></H3>
|
||||
<H4 class="parameters">Parameters</H4>
|
||||
<DL>
|
||||
<DT>column</DT>
|
||||
<DD class="description">Column for wrapping</DD>
|
||||
<DD class="description">Column for wrapping, 0 to disable wrapping</DD>
|
||||
</DL>
|
||||
<H4 class="discussion">Discussion</H4>
|
||||
<P class="discussion">Wrapping is disabled when "column" is <= 0.</P>
|
||||
<P class="discussion">Wrapping is disabled when "column" is 0.</P>
|
||||
<H3 class="function"><A name="mxmlWalkNext">mxmlWalkNext</A></H3>
|
||||
<P class="description">Walk to the next logical node in the tree.</P>
|
||||
<P class="code"> <A href="#mxml_node_t">mxml_node_t</A> *mxmlWalkNext (
|
||||
@ -3484,6 +3531,9 @@ mxml_node_t</A> *);</P>
|
||||
<P class="description">An XML element value.</P>
|
||||
<P class="code"> typedef struct <A href="#mxml_element_s">mxml_element_s</A>
|
||||
mxml_element_t;</P>
|
||||
<H3 class="typedef"><A name="mxml_entity_cb_t">mxml_entity_cb_t</A></H3>
|
||||
<P class="description">Entity callback function</P>
|
||||
<P class="code"> typedef int (*mxml_entity_cb_t)(const char *);</P>
|
||||
<H3 class="typedef"><A name="mxml_error_cb_t">mxml_error_cb_t</A></H3>
|
||||
<P class="description">Error callback function</P>
|
||||
<P class="code"> typedef void (*mxml_error_cb_t)(const char *);</P>
|
||||
@ -3493,8 +3543,8 @@ mxml_node_t</A> *);</P>
|
||||
mxml_index_t;</P>
|
||||
<H3 class="typedef"><A name="mxml_load_cb_t">mxml_load_cb_t</A></H3>
|
||||
<P class="description">Load callback function</P>
|
||||
<P class="code"> typedef mxml_type_t (*mxml_load_cb_t)(<A href="#mxml_node_t">
|
||||
mxml_node_t</A> *);</P>
|
||||
<P class="code"> typedef <A href="#mxml_type_t">mxml_type_t</A>
|
||||
(*mxml_load_cb_t)(<A href="#mxml_node_t">mxml_node_t</A> *);</P>
|
||||
<H3 class="typedef"><A name="mxml_node_t">mxml_node_t</A></H3>
|
||||
<P class="description">An XML node.</P>
|
||||
<P class="code"> typedef struct <A href="#mxml_node_s">mxml_node_s</A>
|
||||
@ -3515,6 +3565,10 @@ mxml_sax_event_e</A> mxml_sax_event_t;</P>
|
||||
<P class="description">An XML text value.</P>
|
||||
<P class="code"> typedef struct <A href="#mxml_text_s">mxml_text_s</A>
|
||||
mxml_text_t;</P>
|
||||
<H3 class="typedef"><A name="mxml_type_t">mxml_type_t</A></H3>
|
||||
<P class="description">The XML node type.</P>
|
||||
<P class="code"> typedef enum <A href="#mxml_type_e">mxml_type_e</A>
|
||||
mxml_type_t;</P>
|
||||
<H3 class="typedef"><A name="mxml_value_t">mxml_value_t</A></H3>
|
||||
<P class="description">An XML node value.</P>
|
||||
<P class="code"> typedef union <A href="#mxml_value_u">mxml_value_u</A>
|
||||
@ -3596,7 +3650,7 @@ mxml_sax_event_e</A> mxml_sax_event_t;</P>
|
||||
<BR> struct <A href="#mxml_node_s">mxml_node_s</A> *parent;
|
||||
<BR> struct <A href="#mxml_node_s">mxml_node_s</A> *prev;
|
||||
<BR> int ref_count;
|
||||
<BR> mxml_type_t type;
|
||||
<BR> <A href="#mxml_type_t">mxml_type_t</A> type;
|
||||
<BR> void *user_data;
|
||||
<BR> <A href="#mxml_value_t">mxml_value_t</A> value;
|
||||
<BR> };</P>
|
||||
@ -3703,6 +3757,7 @@ mxml_sax_event_e</A> mxml_sax_event_t;</P>
|
||||
<DT>MXML_TEXT</DT>
|
||||
<DD class="description">Text fragment</DD>
|
||||
</DL>
|
||||
</UL>
|
||||
</DIV><HR NOSHADE>
|
||||
<H1 align="right"><A name="SCHEMA"><IMG align="right" alt="D" height="100"
|
||||
hspace="10" src="D.gif" width="100"></A>XML Schema</H1>
|
||||
|
@ -32,8 +32,15 @@ mirror_closest()
|
||||
|
||||
|
||||
// Get the current longitude for the client...
|
||||
$current = geoip_record_by_name($_SERVER["REMOTE_ADDR"]);
|
||||
$lon = $current["longitude"];
|
||||
if (!extension_loaded("geoip.so") ||
|
||||
$_SERVER["REMOTE_ADDR"] == "::1" ||
|
||||
$_SERVER["REMOTE_ADDR"] == "127.0.0.1")
|
||||
$lon = -120;
|
||||
else
|
||||
{
|
||||
$current = geoip_record_by_name($_SERVER["REMOTE_ADDR"]);
|
||||
$lon = $current["longitude"];
|
||||
}
|
||||
|
||||
// Loop through the mirrors to find the closest one, currently just using
|
||||
// the longitude...
|
||||
|
@ -33,17 +33,7 @@ if (array_key_exists("FILE", $_GET))
|
||||
else
|
||||
$file = "";
|
||||
|
||||
if (array_key_exists("SITE", $_GET) &&
|
||||
array_key_exists($_GET["SITE"], $PROJECT_SITELIST))
|
||||
{
|
||||
$site = $_GET["SITE"];
|
||||
setcookie("SITE", $site, time() + 90 * 86400, "/");
|
||||
}
|
||||
else if (array_key_exists("SITE", $_COOKIE) &&
|
||||
array_key_exists($_COOKIE["SITE"], $MIRRORS))
|
||||
$site = $_COOKIE["SITE"];
|
||||
else
|
||||
$site = mirror_closest();
|
||||
$site = mirror_closest();
|
||||
|
||||
if (array_key_exists("VERSION", $_GET))
|
||||
$version = $_GET["VERSION"];
|
||||
|
@ -52,8 +52,8 @@ $versions = array(
|
||||
"+None",
|
||||
"Trunk",
|
||||
"+3.0",
|
||||
"+2.6",
|
||||
"+2.5.1",
|
||||
"+2.6.1",
|
||||
"2.6",
|
||||
"2.5",
|
||||
"2.4",
|
||||
"2.3",
|
||||
|
Loading…
Reference in New Issue
Block a user