From de2f0a281c672c393c39686eda0390bfb7488c5b Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Tue, 3 Jun 2003 20:24:28 +0000 Subject: [PATCH] Clean up home page, README file, header file, and test program. --- README | 3 +- index.html | 80 ++++++++++++++++++++++++++++-------------------------- mxml.h | 6 ++-- testmxml.c | 6 ++-- 4 files changed, 49 insertions(+), 46 deletions(-) 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 @@ Mini-XML Home Page + - +

Mini-XML Home Page

-

Mini-XML Home Page

- -

Current Release: v0.9 ( download 40k )

+

Current Release: v0.9 ( download source .tar.gz 40k )

Introduction

@@ -17,23 +20,23 @@ HREF="mxml-0.9.tar.gz">download 40k )

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.

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.

Building Mini-XML

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:
 
 

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 install
 

Once 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.

- 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 $". */