I see I did eventually provoke the discussion I was looking for - thank
you very much!
I've taken on board everyone's points and will do some thinking/playing
with code and see how we can accommodate everyone's requirements.
Just a few things I have to say - and I do know you all know this really :-)
> complete information however we have no idea whether this is the
> information the user had in mind or made up by libsbml.
Currently libSBML does not "make up" anything :-) For L2 it uses the
specified values and in some cases does not write out attributes that
have default values. And yes Stefan, I know this in itself is an issue
and the aim of L3 was to force the SBML file to contain all the
information and not assume that a user has read the specification and
knows the default values.
> libSBML has always allowed you to
> save invalid models, and will continue to do so.
libSBML does not actually have a 'save' function. This presumably comes
from your own software. What libSBML allows you to do is writeSBML -
which doesn't at any point do any sort of validation. Maybe the
compromise is only allow 'writeSBML' to write out valid models and to
have a 'saveSBML' function that assumes you not finished and only writes
out the information provided so far.