Here's a tarball with some Scheme that generates a readable Gnumeric
file.
xmlgen.scm contains a set of functions that will take suitably
structured Scheme lists and transform them into well-structured XML
output. It's fairly general; could be used for lots more than just
Gnumeric.
gnm.scm contains info on Gnumeric structuring, has functions to
generate the critical *mandatory* tags of a Gnumeric file, and ends
with a function where (createss "blah.gnumeric") will generate the
file "blah.gnumeric".
I'm quite happy with xmlgen.scm; gnm.scm is somewhat less complete.
Notable bits missing:
--> Need to generate gmr:StyleRegion, particularly to format dates as
dates. There's some code there as a start to it...
--> There's a really kludgy function, ymd->number that calculates
something vaguely resembling the number of days since Jan 1, 1901.
There is at this point *no* integration with GnuCash per se...
begin 664 gsamp.tgz
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
//?3P!\%_`-E&=GL`4```
`
end
--
All bleeding stops...eventually.
[EMAIL PROTECTED] - - <http://www.ntlug.org/~cbbrowne/lsf.html>
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]