Closed luciansmith closed 3 years ago
thanks for the report, looking at this now.
By the way, i would have expected dependentVariable to be used differently. In this case i would expect instead of:
<dependentVariable id="S1" symbol="urn:sedml:symbol:rateOfChange" target="/sbml:sbml/sbml:model/sbml:listOfSpecies/sbml:species[@id='S1']" taskReference="task0" modelReference="model0" symbol2="urn:sedml:symbol:time"/>
i would want:
<dependentVariable id="S1"
taskReference="task0" <-- really only this one as the model becomes aparent from there
modelReference="model0" <-- but ok
term="urn:sedml:symbol:rateOfChange" <-- rather than symbol1
target="/sbml:sbml/sbml:model/sbml:listOfSpecies/sbml:species[@id='S1']"
symbol2="urn:sedml:symbol:time"
/>
especially, since term would be a required attribute, so it does get flagged as invalid sedml (though the error message does require rewording, to indicate that variable attributes would have been allowed):
A <dependentVariable> object must have the required attribute 'sedml:term', and may have the optional attributes 'sedml:targetTwo' and 'sedml:symbolTwo'. No other attributes from the SBML Level 3 SED-ML namespaces are permitted on a <dependentVariable> object.
Version 2.0.20
on pypi now.
Thanks for the quick response!
And yeah, after I went back and looked at the actual spec, I found the 'term' attribute and realized that was the more appropriate spot.
A DependentVariable differs from a Variable in that it also has the attributes 'symbol2', 'target2', and 'term'.
However, when I read it in and call getVariable from its parent DataGenerator, I am unable to interact with those attributes. Here's a small python script that demonstrates the problem: