mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-08 05:29:58 +00:00
Add mxml library manpage.
This commit is contained in:
parent
868e694d8d
commit
e53bff5519
19
Makefile.in
19
Makefile.in
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: Makefile.in,v 1.6 2003/06/15 00:44:33 mike Exp $"
|
||||
# "$Id: Makefile.in,v 1.7 2003/06/15 01:22:36 mike Exp $"
|
||||
#
|
||||
# Makefile for mini-XML, a small XML-like file parsing library.
|
||||
#
|
||||
@ -53,17 +53,19 @@ BUILDROOT = $(DSTROOT)
|
||||
#
|
||||
|
||||
CAT1EXT = @CAT1EXT@
|
||||
CAT3EXT = @CAT3EXT@
|
||||
MAN1EXT = @MAN1EXT@
|
||||
MAN3EXT = @MAN3EXT@
|
||||
|
||||
|
||||
#
|
||||
# Rules...
|
||||
#
|
||||
|
||||
.SUFFIXES: .0 .1 .c .man .o
|
||||
.SUFFIXES: .0 .1 .3 .c .man .o
|
||||
.c.o:
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
.man.0 .man.1:
|
||||
.man.0 .man.1 .man.3:
|
||||
$(RM) $@
|
||||
$(NROFF) -man $< >$@
|
||||
|
||||
@ -75,7 +77,8 @@ MAN1EXT = @MAN1EXT@
|
||||
DOCFILES = index.html documentation.html README COPYING CHANGES
|
||||
LIBOBJS = mxml-attr.o mxml-file.o mxml-node.o mxml-search.o
|
||||
OBJS = mxmldoc.o testmxml.o $(LIBOBJS)
|
||||
TARGETS = libmxml.a mxmldoc mxmldoc.$(CAT1EXT) testmxml mxml.xml
|
||||
TARGETS = libmxml.a mxmldoc mxml.$(CAT3EXT) mxmldoc.$(CAT1EXT) \
|
||||
testmxml mxml.xml
|
||||
|
||||
|
||||
#
|
||||
@ -111,8 +114,12 @@ install: $(TARGETS)
|
||||
$(CP) libmxml.a $(BUILDROOT)/$(libdir)
|
||||
-$(MKDIR) -p $(BUILDROOT)/$(mandir)/cat1
|
||||
$(CP) mxmldoc.$(CAT1EXT) $(BUILDROOT)/$(mandir)/cat1/mxmldoc.$(CAT1EXT)
|
||||
-$(MKDIR) -p $(BUILDROOT)/$(mandir)/cat3
|
||||
$(CP) mxml.$(CAT3EXT) $(BUILDROOT)/$(mandir)/cat3/mxml.$(CAT3EXT)
|
||||
-$(MKDIR) -p $(BUILDROOT)/$(mandir)/man1
|
||||
$(CP) mxmldoc.man $(BUILDROOT)/$(mandir)/man1/mxmldoc.$(MAN1EXT)
|
||||
-$(MKDIR) -p $(BUILDROOT)/$(mandir)/man3
|
||||
$(CP) mxml.man $(BUILDROOT)/$(mandir)/man3/mxml.$(MAN3EXT)
|
||||
|
||||
|
||||
#
|
||||
@ -125,7 +132,9 @@ uninstall:
|
||||
$(RM) $(BUILDROOT)/$(includedir)/mxml.h
|
||||
$(RM) $(BUILDROOT)/$(libdir)/libmxml.a
|
||||
$(RM) $(BUILDROOT)/$(mandir)/cat1/mxmldoc.$(CAT1EXT)
|
||||
$(RM) $(BUILDROOT)/$(mandir)/cat3/mxml.$(CAT3EXT)
|
||||
$(RM) $(BUILDROOT)/$(mandir)/man1/mxmldoc.$(MAN1EXT)
|
||||
$(RM) $(BUILDROOT)/$(mandir)/man3/mxml.$(MAN3EXT)
|
||||
|
||||
|
||||
#
|
||||
@ -208,5 +217,5 @@ $(OBJS): Makefile
|
||||
|
||||
|
||||
#
|
||||
# End of "$Id: Makefile.in,v 1.6 2003/06/15 00:44:33 mike Exp $".
|
||||
# End of "$Id: Makefile.in,v 1.7 2003/06/15 01:22:36 mike Exp $".
|
||||
#
|
||||
|
8
configure
vendored
8
configure
vendored
@ -2637,17 +2637,23 @@ case "$uname" in
|
||||
# *BSD
|
||||
CAT1EXT="0"
|
||||
MAN1EXT="1"
|
||||
CAT3EXT="0"
|
||||
MAN3EXT="3"
|
||||
;;
|
||||
*)
|
||||
# All others
|
||||
CAT1EXT="1"
|
||||
MAN1EXT="1"
|
||||
CAT3EXT="3"
|
||||
MAN3EXT="3"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files Makefile mxml.list"
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
@ -3249,7 +3255,9 @@ s,@GROFF@,$GROFF,;t t
|
||||
s,@RM@,$RM,;t t
|
||||
s,@ARFLAGS@,$ARFLAGS,;t t
|
||||
s,@CAT1EXT@,$CAT1EXT,;t t
|
||||
s,@CAT3EXT@,$CAT3EXT,;t t
|
||||
s,@MAN1EXT@,$MAN1EXT,;t t
|
||||
s,@MAN3EXT@,$MAN3EXT,;t t
|
||||
CEOF
|
||||
|
||||
_ACEOF
|
||||
|
10
configure.in
10
configure.in
@ -1,5 +1,5 @@
|
||||
dnl
|
||||
dnl "$Id: configure.in,v 1.3 2003/06/15 00:44:33 mike Exp $"
|
||||
dnl "$Id: configure.in,v 1.4 2003/06/15 01:22:36 mike Exp $"
|
||||
dnl
|
||||
dnl Configuration script for mini-XML, a small XML-like file parsing library.
|
||||
dnl
|
||||
@ -115,20 +115,26 @@ case "$uname" in
|
||||
# *BSD
|
||||
CAT1EXT="0"
|
||||
MAN1EXT="1"
|
||||
CAT3EXT="0"
|
||||
MAN3EXT="3"
|
||||
;;
|
||||
*)
|
||||
# All others
|
||||
CAT1EXT="1"
|
||||
MAN1EXT="1"
|
||||
CAT3EXT="3"
|
||||
MAN3EXT="3"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(CAT1EXT)
|
||||
AC_SUBST(CAT3EXT)
|
||||
AC_SUBST(MAN1EXT)
|
||||
AC_SUBST(MAN3EXT)
|
||||
|
||||
dnl Output the makefile, etc...
|
||||
AC_OUTPUT(Makefile mxml.list)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id: configure.in,v 1.3 2003/06/15 00:44:33 mike Exp $".
|
||||
dnl End of "$Id: configure.in,v 1.4 2003/06/15 01:22:36 mike Exp $".
|
||||
dnl
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: mxml.list.in,v 1.1 2003/06/15 00:44:34 mike Exp $"
|
||||
# "$Id: mxml.list.in,v 1.2 2003/06/15 01:22:37 mike Exp $"
|
||||
#
|
||||
# EPM software list file for mini-XML, a small XML-like file parsing library.
|
||||
#
|
||||
@ -62,7 +62,9 @@ EOF
|
||||
|
||||
# Manpage extensions...
|
||||
$CAT1EXT=@CAT1EXT@
|
||||
$CAT3EXT=@CAT3EXT@
|
||||
$MAN1EXT=@MAN1EXT@
|
||||
$MAN3EXT=@MAN3EXT@
|
||||
|
||||
# Executables
|
||||
f 0555 root sys ${bindir}/mxmldoc mxmldoc
|
||||
@ -83,7 +85,9 @@ f 0444 root sys ${docdir}/documentation.html $srcdir/documentation.html
|
||||
# Man pages
|
||||
f 0444 root sys ${mandir}/cat1/mxmldoc.$CAT1EXT $srcdir/mxmldoc.$CAT1EXT
|
||||
f 0444 root sys ${mandir}/man1/mxmldoc.$MAN1EXT $srcdir/mxmldoc.man
|
||||
f 0444 root sys ${mandir}/cat3/mxml.$CAT3EXT $srcdir/mxml.$CAT3EXT
|
||||
f 0444 root sys ${mandir}/man3/mxml.$MAN3EXT $srcdir/mxml.man
|
||||
|
||||
#
|
||||
# End of "$Id: mxml.list.in,v 1.1 2003/06/15 00:44:34 mike Exp $".
|
||||
# End of "$Id: mxml.list.in,v 1.2 2003/06/15 01:22:37 mike Exp $".
|
||||
#
|
||||
|
159
mxml.man
Normal file
159
mxml.man
Normal file
@ -0,0 +1,159 @@
|
||||
.\"
|
||||
.\" "$Id: mxml.man,v 1.1 2003/06/15 01:22:37 mike Exp $"
|
||||
.\"
|
||||
.\" mxml man page for mini-XML, a small XML-like file parsing library.
|
||||
.\"
|
||||
.\" Copyright 2003 by Michael Sweet.
|
||||
.\"
|
||||
.\" This program 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, or (at your option) any later version.
|
||||
.\"
|
||||
.\" This program 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 General Public License for more details.
|
||||
.\"
|
||||
.TH mxml 3 "mini-XML" "14 June 2003" "Michael Sweet"
|
||||
.SH NAME
|
||||
mxml \- mini-xml library
|
||||
.SH INCLUDE FILE
|
||||
#include <mxml.h>
|
||||
.SH LIBRARY
|
||||
-lmxml
|
||||
.SH DESCRIPTION
|
||||
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.
|
||||
.PP
|
||||
Mini-XML provides the following functionality:
|
||||
.IP \(bu 4
|
||||
Reading and writing of UTF-8 encoded XML files.
|
||||
.IP \(bu 4
|
||||
Data is stored in a linked-list tree structure,
|
||||
preserving the XML data hierarchy.
|
||||
.IP \(bu 4
|
||||
Supports arbitrary element names, attributes, and attribute
|
||||
values with no preset limits, just available memory.
|
||||
.IP \(bu 4
|
||||
Supports integer, real, opaque ("cdata"), and text data types in
|
||||
"leaf" nodes.
|
||||
.IP \(bu 4
|
||||
Functions for creating and managing trees of data.
|
||||
.IP \(bu 4
|
||||
"Find" and "walk" functions for easily locating and navigating
|
||||
trees of data.
|
||||
.PP
|
||||
Mini-XML doesn't do validation or other types of processing
|
||||
on the data based upon schema files or other sources of
|
||||
definition information, nor does it support character
|
||||
entities other than those required by the XML
|
||||
specification. Also, since Mini-XML does not support the
|
||||
UTF-16 encoding, it is technically not a conforming XML
|
||||
consumer/client.
|
||||
.SH USING MINI-XML
|
||||
Mini-XML provides a single header file which you include:
|
||||
.nf
|
||||
|
||||
#include <mxml.h>
|
||||
.fi
|
||||
.PP
|
||||
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".
|
||||
.PP
|
||||
You load an XML file using the "mxmlLoadFile()" function:
|
||||
.nf
|
||||
|
||||
FILE *fp;
|
||||
mxml_node_t *tree;
|
||||
|
||||
fp = fopen("filename.xml", "r");
|
||||
tree = mxmlLoadFile(NULL, fp, MXML_NO_CALLBACK);
|
||||
fclose(fp);
|
||||
.fi
|
||||
.PP
|
||||
Similarly, you save an XML file using the "mxmlSaveFile()"
|
||||
function:
|
||||
.nf
|
||||
|
||||
FILE *fp;
|
||||
mxml_node_t *tree;
|
||||
|
||||
fp = fopen("filename.xml", "w");
|
||||
mxmlSaveFile(tree, fp, MXML_NO_CALLBACK);
|
||||
fclose(fp);
|
||||
.fi
|
||||
.PP
|
||||
You can find a named element/node using the
|
||||
"mxmlFindElement()" function:
|
||||
.nf
|
||||
|
||||
mxml_node_t *node = mxmlFindElement(tree, tree, "name",
|
||||
"attr", "value",
|
||||
MXML_DESCEND);
|
||||
.fi
|
||||
.PP
|
||||
The "name", "attr", and "value" arguments can be passed as
|
||||
NULL to act as wildcards, e.g.:
|
||||
.nf
|
||||
|
||||
/* Find the first "a" element */
|
||||
node = mxmlFindElement(tree, tree, "a", NULL, NULL,
|
||||
MXML_DESCEND);
|
||||
|
||||
/* Find the first "a" element with "href" attribute */
|
||||
node = mxmlFindElement(tree, tree, "a", "href", NULL,
|
||||
MXML_DESCEND);
|
||||
|
||||
/* Find the first "a" element with "href" to a URL */
|
||||
node = mxmlFindElement(tree, tree, "a", "href",
|
||||
"http://www.easysw.com/~mike/mxml/",
|
||||
MXML_DESCEND);
|
||||
|
||||
/* Find the first element with a "src" attribute*/
|
||||
node = mxmlFindElement(tree, tree, NULL, "src", NULL,
|
||||
MXML_DESCEND);
|
||||
|
||||
/* Find the first element with a "src" = "foo.jpg" */
|
||||
node = mxmlFindElement(tree, tree, NULL, "src",
|
||||
"foo.jpg", MXML_DESCEND);
|
||||
.fi
|
||||
.PP
|
||||
You can also iterate with the same function:
|
||||
.nf
|
||||
|
||||
mxml_node_t *node;
|
||||
|
||||
for (node = mxmlFindElement(tree, tree, "name", NULL,
|
||||
NULL, MXML_DESCEND);
|
||||
node != NULL;
|
||||
node = mxmlFindElement(node, tree, "name", NULL,
|
||||
NULL, MXML_DESCEND))
|
||||
{
|
||||
... do something ...
|
||||
}
|
||||
.fi
|
||||
.PP
|
||||
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:
|
||||
.nf
|
||||
|
||||
mxmlDelete(tree);
|
||||
.fi
|
||||
.SH SEE ALSO
|
||||
mxmldoc(1), http://www.easysw.com/~mike/mxml/
|
||||
.SH COPYRIGHT
|
||||
Copyright 2003 by Michael Sweet.
|
||||
.\"
|
||||
.\" End of "$Id: mxml.man,v 1.1 2003/06/15 01:22:37 mike Exp $".
|
||||
.\"
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: mxml.spec,v 1.1 2003/06/15 00:44:34 mike Exp $"
|
||||
# "$Id: mxml.spec,v 1.2 2003/06/15 01:22:37 mike Exp $"
|
||||
#
|
||||
# RPM "spec" file for mini-XML, a small XML-like file parsing library.
|
||||
#
|
||||
@ -86,9 +86,13 @@ rm -rf $RPM_BUILD_ROOT
|
||||
/usr/share/doc/mxml/*
|
||||
%dir /usr/share/man/cat1
|
||||
/usr/share/man/cat1/*
|
||||
%dir /usr/share/man/cat3
|
||||
/usr/share/man/cat3/*
|
||||
%dir /usr/share/man/man1
|
||||
/usr/share/man/man1/*
|
||||
%dir /usr/share/man/man3
|
||||
/usr/share/man/man3/*
|
||||
|
||||
#
|
||||
# End of "$Id: mxml.spec,v 1.1 2003/06/15 00:44:34 mike Exp $".
|
||||
# End of "$Id: mxml.spec,v 1.2 2003/06/15 01:22:37 mike Exp $".
|
||||
#
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"
|
||||
.\" "$Id: mxmldoc.man,v 1.1 2003/06/15 00:44:34 mike Exp $"
|
||||
.\" "$Id: mxmldoc.man,v 1.2 2003/06/15 01:22:37 mike Exp $"
|
||||
.\"
|
||||
.\" mxmldoc man page for mini-XML, a small XML-like file parsing library.
|
||||
.\"
|
||||
@ -40,9 +40,9 @@ code with documentation that is formatted according to the CUPS
|
||||
Configuration Management Plan which is available at
|
||||
"http://www.cups.org/documentation.html".
|
||||
.SH SEE ALSO
|
||||
CUPS Configuration Management Plan.
|
||||
mxml(3), http://www.easysw.com/~mike/mxml/
|
||||
.SH COPYRIGHT
|
||||
Copyright 2003 by Michael Sweet.
|
||||
.\"
|
||||
.\" End of "$Id: mxmldoc.man,v 1.1 2003/06/15 00:44:34 mike Exp $".
|
||||
.\" End of "$Id: mxmldoc.man,v 1.2 2003/06/15 01:22:37 mike Exp $".
|
||||
.\"
|
||||
|
Loading…
Reference in New Issue
Block a user