Master - saving to xml broken

Geert Janssens geert.gnucash at kobaltwit.be
Fri Dec 2 09:45:25 EST 2016


Bob,

Did you add a business object, like a vendor or customer ?

Geert

Op vrijdag 2 december 2016 14:34:57 CET schreef Robert Fewell:
> Geert,
> 
> Not sure I see your problem, just created a new xml file based on master
> with one transaction from
> https://github.com/Gnucash/gnucash/commit/dd4b8a104d0f7ad2205407e8bf10feec36
> 4c8127, can save with no errors.
> 
> Bob
> 
> On 2 December 2016 at 13:03, Geert Janssens <geert.gnucash at kobaltwit.be>
> 
> wrote:
> > Op vrijdag 2 december 2016 13:50:12 CET schreef Geert Janssens:
> > > Hi,
> > > 
> > > The last couple of days I find that the master branch breaks xml files
> > > during save. I didn't report earlier because I had to check first
> > > whether
> > > it wasn't due to my own branch.
> > > 
> > > Built a clean current master today, and it still saves broken xml data
> > > files.
> > > 
> > > The error message is - as usual with the backend - pretty vague:
> > > * 13:27:04  WARN <gnc.backend> [GncXmlBackend::load()] Syntax error in
> > 
> > Xml
> > 
> > > File /home/janssege/Development/gnucash/testdata/KobaltTest.xac
> > > 
> > > To reproduce: open a working file and save it as xml. For my test I
> > 
> > simply
> > 
> > > added and remove one character of one single transaction description and
> > > then saved the file again.
> > > 
> > > Analyzing the broken file I find:
> > 
> > > 1. there are several duplicate xml namespaces in the xmlns list:
> > billterm,
> > 
> > > bt- days, bt-prox, cust, employee, entry, invoice, job, order, taxtable,
> > > tte, vendor and addr. They were in the original file as well, but only
> > > once.
> > > 
> > > 2. gnc:count-data equally has a number of duplicate entries, also for
> > > business objects only.
> > > 
> > > 3. The original book only had gnc:commodity entries for currencies that
> > 
> > are
> > 
> > > really in use. The new book has an entry for each commodity we support.
> > > 
> > > 4. all objects that didn't have slots before, now have an empty slots
> > > xml
> > > entity. The commodities now have for example <cmdty:slots/>. Similarly
> > 
> > there
> > 
> > > are now also plenty of empty entities for accounts, transactions,
> > > splits,
> > > ...
> > > 
> > > This issue must have been introduced before commit dd4b8a104d0f7 on
> > 
> > master.
> > 
> > > That's the commit my cpp branch branches off from and I'm seeing it
> > 
> > there as
> > 
> > > well (albeit with a slightly different error message:* 10:54:04  WARN
> > > <gnc.backend> [gnc_xml_be_load_from_file()] Syntax error in Xml File
> > 
> > /home/
> > 
> > > janssege/Development/gnucash/testdata/KobaltTest.xac)
> > 
> > Digging a bit further it looks like all business data is duplicated, which
> > would explain the errors - all those guid's appear twice.
> > 
> > Geert
> > _______________________________________________
> > gnucash-devel mailing list
> > gnucash-devel at gnucash.org
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel




More information about the gnucash-devel mailing list