Provide an official XML schema
Provide an official, commented XML, definite schema (XSD) for others to write compatible apps. (e.g. for Android)
That's also a good idea for documentation and to verify file integrity.
There is an informative RELAX NG schema that describes the current xml file format, which you can use to learn about the xml file format.
It is however impossible to code various accounting constraints in such an xml schema (eg to enforce each transaction has a zero balance). For this reason it is formally strongly discouraged to use any external tool to modify the xml data, unless it does so via the GnuCash api.
So there is no incentive for the GnuCash developers to spend more effort on a more elaborate xml schema.
-
Anonymous commented
No one expects to code higher level consistency checks into a schema. But it would help keeping data consistent. Bug like #696282 wouldn't make it into the final release at all, if you have schema and validate against it while writing.
-
Marcus Wolschon commented
The Gnucash API is not suitable in terms of languages(C only) supported, documentation(none), examples(none) and supported platforms (Desktop only).
Offiial website about the Gnucash API:
/Unfortunatly there doesn't exist any up-to-date coherent set of documentation./ -
Marcus Wolschon commented
I'm sad to inform you that my unofficial XML schema and the code automatically generated from it can no longer be maintained.
The accounting-automation tools and the unfinished Android and iOS apps for entering new expenses, barcode based inventory management and quick lookup of accounting data based on the jGnucashLib will no longer be updated.
Automatic parsing of PDF invoices from emails, custom rules for HBCI/Paypal/Wirecard synchronisation(not bare importing) of transactions and the old code for automatic German electronic sales-tax declaration are no longer maintained.