Clean up home page, README file, header file, and test program.

This commit is contained in:
Michael R Sweet 2003-06-03 20:24:28 +00:00
parent 7a51d3c414
commit de2f0a281c
4 changed files with 49 additions and 46 deletions

3
README
View File

@ -104,7 +104,8 @@ DOCUMENTATION
}
Finally, once you are done with the XML data, use the
"mxmlDelete()" function to free the memory that is used:
"mxmlDelete()" function to recursively free the memory that
is used for a particular node or the entire tree:
mxmlDelete(tree);

View File

@ -1,15 +1,18 @@
<HTML>
<HEAD>
<TITLE>Mini-XML Home Page</TITLE>
<STYLE><!--
H1, H2, H3, P { font-family: sans-serif; text-align: justify; }
H1.title, P.title { font-family: sans-serif; text-align: center; }
TT, PRE, PRE A:link { font-weight: bold; color: #7f0000; }
--></STYLE>
</HEAD>
<BODY>
<SPAN STYLE="text-align: justify;">
<H1 CLASS="title" ALIGN="CENTER">Mini-XML Home Page</H1>
<H1 ALIGN="CENTER">Mini-XML Home Page</H1>
<P ALIGN="CENTER">Current Release: v0.9 ( <A
HREF="mxml-0.9.tar.gz">download 40k</A> )</P>
<P CLASS="title" ALIGN="CENTER">Current Release: v0.9 ( <A
HREF="mxml-0.9.tar.gz">download source .tar.gz 40k</A> )</P>
<H2>Introduction</H2>
@ -17,23 +20,23 @@ HREF="mxml-0.9.tar.gz">download 40k</A> )</P>
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.
ANSI C compilers) and a "make" program.</P>
<P>Mini-XML was created to support the basic hierarchy provided
by XML and some simple data types, but doesn't do validation or
other types of processing on the data.
other types of processing on the data.</P>
<H2>Building Mini-XML</H2>
<P>Mini-XML comes with an autoconf-based configure script; just
type the following command to get things going:
type the following command to get things going:</P>
<PRE>
./configure
</PRE>
<P>The default install prefix is /usr/local, which can be
overridden using the --prefix option:
overridden using the --prefix option:</P>
<PRE>
./configure --prefix=/foo
@ -41,7 +44,7 @@ overridden using the --prefix option:
<P>Once you have configured the software, type "make" to do the
build and then run the test program to verify that things are
working, as follows:
working, as follows:</P>
<PRE>
make
@ -51,39 +54,40 @@ working, as follows:
<H2>Installing Mini-XML</H2>
<P>The "install" target will install Mini-XML in the lib and
include directories:
include directories:</P>
<PRE>
make install
</PRE>
<P>Once you have installed it, use the "-lmxml" option to link
your application against it.
your application against it.</P>
<H2>Documentation</H2>
<P>The documentation is currently just in this page. At
some point I'll probably do some proper documentation, but
for now just read here and look at the testmxml.c source
file for an example of reading and printing the contents of
an XML file to stdout.
<P>The documentation is currently just in this page. At some
point I'll probably do some proper documentation, but for now
just read here and look at the <A
HREF="testmxml.c"><TT>testmxml.c</TT></A> source file for an
example of reading and printing the contents of an XML file to
stdout.</P>
<P>Mini-XML provides a single header file which you include:
<P>Mini-XML provides a single header file which you include:</P>
<PRE>
#include &lt;mxml.h>
<A HREF="mxml.h">#include &lt;mxml.h></A>
</PRE>
<P>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".
<P>Nodes are defined by the <TT>mxml_node_t</TT> structure; the
<TT>type</TT> member defines the node type (element, integer,
opaque, real, or text) which determines which value you want to
look at in the <TT>value</TT> union. New nodes can be created
using the <TT>mxmlNewElement()</TT>, <TT>mxmlNewInteger()</TT>,
<TT>mxmlNewOpaque()</TT>, <TT>mxmlNewReal()</TT>, and
<TT>mxmlNewText()</TT> functions. Only elements can have child
nodes, and the top node must be an element, usually "?xml".</P>
<P>You load an XML file using the "mxmlLoadFile()" function:
<P>You load an XML file using the <TT>mxmlLoadFile()</TT> function:</P>
<PRE>
FILE *fp;
@ -94,8 +98,8 @@ element, usually "?xml".
fclose(fp);
</PRE>
<P>Similarly, you save an XML file using the "mxmlSaveFile()"
function:
<P>Similarly, you save an XML file using the <TT>mxmlSaveFile()</TT>
function:</P>
<PRE>
FILE *fp;
@ -107,7 +111,7 @@ function:
</PRE>
<P>You can find a named element/node using the
"mxmlFindElement()" function:
<TT>mxmlFindElement()</TT> function:</P>
<PRE>
mxml_node_t *node = mxmlFindElement(tree, tree, "name");
@ -127,7 +131,8 @@ function:
</PRE>
<P>Finally, once you are done with the XML data, use the
"mxmlDelete()" function to free the memory that is used:
<TT>mxmlDelete()</TT> function to recursively free the memory
that is used for a particular node or the entire tree:</P>
<PRE>
mxmlDelete(tree);
@ -137,29 +142,28 @@ function:
<P>You can email me at "mxml <I>at</I> easysw <I>dot</I> com" to
report problems and/or ask for help. Just don't expect an
instant response, as I get a *lot* of email...
instant response, as I get a <I>lot</I> of email...</P>
<H2>Legal Stuff</H2>
<P>The Mini-XML library is Copyright 2003 by Michael Sweet.
<P>The Mini-XML library is Copyright 2003 by Michael Sweet.</P>
<P>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.
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.
more details.</P>
<P>You should have received a copy of the GNU Library General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
02139, USA.</P>
</SPAN>
</BODY>
</HTML>

6
mxml.h
View File

@ -1,7 +1,7 @@
/*
* "$Id: mxml.h,v 1.1 2003/06/03 19:46:30 mike Exp $"
* "$Id: mxml.h,v 1.2 2003/06/03 20:24:28 mike Exp $"
*
* for mini-XML, a small XML-like file parsing library.
* Header file for mini-XML, a small XML-like file parsing library.
*
* Copyright 2003 by Michael Sweet.
*
@ -132,5 +132,5 @@ extern mxml_node_t *mxmlWalkPrev(mxml_node_t *node, mxml_node_t *top);
/*
* End of "$Id: mxml.h,v 1.1 2003/06/03 19:46:30 mike Exp $".
* End of "$Id: mxml.h,v 1.2 2003/06/03 20:24:28 mike Exp $".
*/

View File

@ -1,5 +1,5 @@
/*
* "$Id: testmxml.c,v 1.1 2003/06/03 19:46:30 mike Exp $"
* "$Id: testmxml.c,v 1.2 2003/06/03 20:24:28 mike Exp $"
*
* Test program for mini-XML, a small XML-like file parsing library.
*
@ -85,8 +85,6 @@ main(int argc, /* I - Number of command-line args */
* Print the XML tree...
*/
setbuf(stdout, NULL);
mxmlSaveFile(tree, stdout);
puts("");
@ -129,5 +127,5 @@ type_cb(mxml_node_t *node) /* I - Element node */
/*
* End of "$Id: testmxml.c,v 1.1 2003/06/03 19:46:30 mike Exp $".
* End of "$Id: testmxml.c,v 1.2 2003/06/03 20:24:28 mike Exp $".
*/