| Author | Topic |
Posts: 307
Location: Cambridge UK
Registered: February 2005
|
|
Re: Bug in SBMLWriter
|
08 May '12 06:17

|
 |
|
On 08/05/12 13:57, Andreas Dräger wrote:
> |Hi all,
>
> It seems the SBML writer does currently write invalid SBML code when
> making use of the ability of SBML Level 3 to associate plain numbers
> with units:
>
> <cn type="integer" sbml:units="dimensionless"> 1</cn>
>
> The above code is only valid if the namespace declaration of the math
> element also defines
>
> xmlns:sbml="http://www.sbml.org/sbml/level3/version1/core"
>
> Currently, it does only declare the regular MathML namesapce. As a
> result, JSBML is currently unable to parse models that itself wrote into
> a file before. Where can we fix this problem?
The check is in
org.sbml.jsbml.util.compilers.MathMLXMLStreamCompiler.isSBMLNamespaceNeeded(ASTNode)
the namespace is added in
org.sbml.jsbml.xml.stax.SBMLWriter.writeMathML(MathContainer,
SMOutputElement, XMLStreamWriter, int)
line 1084 to 1106.
The compiler org.sbml.jsbml.util.compilers.FindUnitsCompiler is used to
say if there is a unit declaration or not in the mathML.
This is probably there that the problem happen, and the value returned
is probably false.
It is probably due to the way you are declaring the units and then how
the mathML compiler is calling the methods.
If I read a model with units, then the writing is fine so there is may
be something missing when we declare units from scratch.
Nico
> Cheers
> Andreas
> |
>
____________________________________________________________
To manage your jsbml-development list subscription, visit
https://utils.its.caltech.edu/mailman/listinfo/jsbml-development
For a web interface to the jsbml-development mailing list, visit
http://sbml.org/Forums/
For questions or feedback about the jsbml-development list,
contact sbml-team@caltech.edu
|
|
|