sbmlteam / libsbml

LibSBML is a native library for reading, writing and manipulating files and data streams containing the Systems Biology Markup Language (SBML). It offers language bindings for C, C++, C#, Java, JavaScript, MATLAB, Perl, PHP, Python, R and Ruby.
https://sbml.org/software/libsbml
Other
41 stars 28 forks source link

libsbml claims biomodel 1065 is invalid. I don't think it is? #395

Closed luciansmith closed 2 months ago

luciansmith commented 2 months ago

Biomodels 1065 can be downloaded at

https://www.ebi.ac.uk/biomodels/services/download/get-files/MODEL2304060001/2/vonDassow2000_1x4.timecourse1.xml

The validator (https://sbml.bioquant.uni-heidelberg.de/validator_servlet/index.jsp) claims:

Error Line 97 Column 6: (SBML Validation Rule #10102) An SBML XML document must not contain undefined elements or attributes in the SBML namespace. Documents containing unknown elements or attributes placed in the SBML namespace do not conform to the SBML specification. Reference: L3V1 Section 4.1 Element 'globalRenderInformation' is not part of the definition of 'listOfGlobalRenderInformation' in SBML Level 3 Version 1 Package render Version 1.

But as far as I can tell from the Render spec, 'globalRenderInformation' is indeed a perfectly valid child of 'listOfGlobalRenderInformation', as one might expect from the names.

Is something else going wrong here?

luciansmith commented 2 months ago

Nope, it was indeed incorrect! It looks like COPASI created it, so this is a bug for COPASI, I guess.

For some reason, even though the children of a listOfGlobalRenderInformation are of the class 'GlobalRenderInformation', their XML names are supposed to be just 'renderInformation'.

fbergmann commented 2 months ago

actually the file was modified after being written by COPASI. It used to be that jsbml was writing out 'globalRenderInformation' in older versions.