export of listOfSpeciesFeatures
piotr-gawron opened this issue · comments
When exporting a species with listOfSpeciesFeatures from multi package the resulting xml node is missing "multi:" prefix for listOfSpeciesFeatures node.
This can be reproduced by simply reading and writing the file that has properly defined listOfSpeciesFeatures (I added such file in the attachment):
SBMLDocument sbmlDocument = SBMLReader.read(inputStream);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
SBMLWriter.write(sbmlDocument, stream);
system.out(stream.toString("UTF-8"));
The resulting xml will contain a species defined as follow:
<species boundaryCondition="false" constant="false" hasOnlySubstanceUnits="false" id="sp_AB" multi:speciesType="st_AB" name="AB">
<listOfSpeciesFeatures>
<multi:speciesFeature xmlns:multi="http://www.sbml.org/sbml/level3/version1/multi/version1" multi:speciesFeatureType="phosphorylation">
<multi:listOfSpeciesFeatureValues>
<multi:speciesFeatureValue multi:value="U"/>
</multi:listOfSpeciesFeatureValues>
</multi:speciesFeature>
</listOfSpeciesFeatures>
</species>
This xml later on cannot be properly parsed because "multi:" prefix is missed on listOfSpeciesFeatures
node and following warnings are produced:
WARN [main] (SBMLCoreParser.java:1252) - The element 'listOfSpeciesFeatures' is not recognized.
WARN [main] (AbstractReaderWriter.java:105) - processAttribute: The attribute 'speciesFeatureType' on the element speciesFeature is not part of the SBML specifications (XMLNode) or has an invalid value.
WARN [main] (AbstractReaderWriter.java:105) - processAttribute: The attribute 'value' on the element speciesFeatureValue is not part of the SBML specifications (XMLNode) or has an invalid value.
This should be fixed now.