diff --git a/README b/README index a263fd6..681cdc2 100644 --- a/README +++ b/README @@ -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); diff --git a/index.html b/index.html index c8b0e04..9f3af41 100644 --- a/index.html +++ b/index.html @@ -1,15 +1,18 @@
Current Release: v0.9 ( download 40k )
+Current Release: v0.9 ( download source .tar.gz 40k )
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.
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:
./configure
The default install prefix is /usr/local, which can be -overridden using the --prefix option: +overridden using the --prefix option:
./configure --prefix=/foo @@ -41,7 +44,7 @@ overridden using the --prefix option:diff --git a/mxml.h b/mxml.h index a57ed3f..a954393 100644 --- a/mxml.h +++ b/mxml.h @@ -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 $". */ diff --git a/testmxml.c b/testmxml.c index 63bb688..56cf7eb 100644 --- a/testmxml.c +++ b/testmxml.c @@ -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 $". */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:
make @@ -51,39 +54,40 @@ working, as follows:Installing Mini-XML
The "install" target will install Mini-XML in the lib and -include directories: +include directories:
make installOnce you have installed it, use the "-lmxml" option to link -your application against it. +your application against it.
Documentation
-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. +
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.
-Mini-XML provides a single header file which you include: +
Mini-XML provides a single header file which you include:
- #include <mxml.h> + #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: +
You load an XML file using the mxmlLoadFile() function:
FILE *fp; @@ -94,8 +98,8 @@ element, usually "?xml". fclose(fp);-Similarly, you save an XML file using the "mxmlSaveFile()" -function: +
Similarly, you save an XML file using the mxmlSaveFile() +function:
FILE *fp; @@ -107,7 +111,7 @@ function:You can find a named element/node using the -"mxmlFindElement()" function: +mxmlFindElement() function:
mxml_node_t *node = mxmlFindElement(tree, tree, "name"); @@ -127,7 +131,8 @@ function: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); @@ -137,29 +142,28 @@ function:You can email me at "mxml at easysw dot 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 lot of email...
Legal Stuff
-The Mini-XML library is Copyright 2003 by Michael Sweet. +
The Mini-XML library is Copyright 2003 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. +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. +more details.
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.
-