libSBML C API
5.18.0
|
The relationship between the lists and the rest of an SBML model is illustrated by the following (for SBML Level 2 Version 4):
SBML Level 3 Version 1 has essentially the same structure as Level 2 Version 4, depicted above, but SBML Level 3 Version 2 allows containers to contain zero or more of the relevant object, instead of requiring at least one. As such, libsbml will write out an otherwise-empty ListOf___ element that has any optional attribute set (such as 'id' or 'metaid'), that has an optional child (such as a 'notes' or 'annotation'), or that has attributes or children set from any SBML Level 3 package, whether or not the ListOf___ has any other children.
Readers may wonder about the motivations for using the ListOf___ containers in SBML. A simpler approach in XML might be to place the components all directly at the top level of the model definition. The choice made in SBML is to group them within XML elements named after ListOfClassname, in part because it helps organize the components. More importantly, the fact that the container classes are derived from SBase_t means that software tools can add information about the lists themselves into each list container's "annotation".
Public Member Functions | |
Species_t * | ListOfSpecies_getById (ListOf_t *lo, const char *sid) |
Returns the Species_t structure having a given identifier. More... | |
Species_t * | ListOfSpecies_removeById (ListOf_t *lo, const char *sid) |
Removes a Species_t structure based on its identifier. More... | |
Returns the Species_t structure having a given identifier.
lo | the ListOfSpecies_t structure to search. |
sid | the "id" attribute value being sought. |
lo
ListOfSpecies_t with the given sid
or a null pointer if no such item exists.Removes a Species_t structure based on its identifier.
The caller owns the returned item and is responsible for deleting it.
lo | the list of Species_t structures to search. |
sid | the "id" attribute value of the structure to remove. |
lo
.