Tree [b45584] master /
History



File Date Author Commit
docs 2007-01-13 dov-g dov-g [042e12] * Last minute changes for initial version.
src 2007-04-14 dov-g dov-g [3f75ca] 2007-04-15 Dov Grobgeld <dov.grobgeld@gmail.com>
.cvsignore 2007-01-13 dov-g dov-g [268e39] initial import
AUTHORS 2007-01-13 dov-g dov-g [268e39] initial import
COPYING 2007-01-13 dov-g dov-g [268e39] initial import
ChangeLog 2007-04-14 dov-g dov-g [3f75ca] 2007-04-15 Dov Grobgeld <dov.grobgeld@gmail.com>
INSTALL 2007-01-13 dov-g dov-g [268e39] initial import
Makefile.am 2007-01-15 dov-g dov-g [0d360a] 2007-01-15 Dov Grobgeld <dov.grobgeld@gmail.com>
NEWS 2007-01-13 dov-g dov-g [042e12] * Last minute changes for initial version.
README 2008-03-16 dov-g dov-g [b45584] * Testing write access to svn repository.
TODO 2007-01-13 dov-g dov-g [042e12] * Last minute changes for initial version.
acinclude.m4 2007-01-13 dov-g dov-g [268e39] initial import
aclocal.m4 2007-01-13 dov-g dov-g [268e39] initial import
aminclude.am 2007-01-13 dov-g dov-g [268e39] initial import
autogen.sh 2007-01-13 dov-g dov-g [268e39] initial import
config.guess 2007-01-13 dov-g dov-g [268e39] initial import
config.h.in 2007-01-13 dov-g dov-g [268e39] initial import
config.sub 2007-01-13 dov-g dov-g [268e39] initial import
configure.in 2007-01-15 dov-g dov-g [0d360a] 2007-01-15 Dov Grobgeld <dov.grobgeld@gmail.com>
depcomp 2007-01-13 dov-g dov-g [268e39] initial import
doxygen.cfg 2007-01-15 dov-g dov-g [0d360a] 2007-01-15 Dov Grobgeld <dov.grobgeld@gmail.com>
install-sh 2007-01-13 dov-g dov-g [268e39] initial import
libxnm.pc.in 2007-01-15 dov-g dov-g [0d360a] 2007-01-15 Dov Grobgeld <dov.grobgeld@gmail.com>
ltmain.sh 2007-01-13 dov-g dov-g [268e39] initial import
missing 2007-01-13 dov-g dov-g [268e39] initial import

Read Me

libxnm is a library for parsing the XNM format. For more info about
the xnm format see below. libxnm is a c-library for parsing, in
memory storage, and output of the xnm format.

THE XNM FORMAT 

XNM stands for (Xnm is Not a Markup language) in the spirit of
recursive definitions common in the GNU world. xnm is a simple
recursively defined serialization syntax that is well suited to be
used as a storage format for any program storing or communicating
complex datastructures. In contrast to the XML standard, XNM was built
to be as concise as possible. It is built upon three types string,
tables, and arrays. Here is a short string in Xnm format:

   home_dir : "/home/dir"
   path : ["/usr/bin" "/usr/local/bin" "/etc"]

Here is another more complex example:

   objects : [
     {
       type : contour
       points : [ {x:0 y:1} {x:3.5 y:2.1} {x:5 y:8} ]
       fill : T
       color : { R:200 G:0 B:0 }
       name : "A red contour"
     }
     {
       type : polygon
       center : {x=10 y=50}
       sides : 5
       rotation : 32
     }
   ]

Other similar projects are YAML and JSON.

USAGE

Documentation is in progress. Meanwhile see:

    src/xnm-parse-and-query.c

for example usage.