libSBML C# API  5.18.0
libsbmlcs.libsbml Class Reference

Static Public Member Functions

static int BindingStatus_fromString (string s)
 
static string BindingStatus_toString (int bindingStatus)
 
static int BiolQualifierType_fromString (string s)
 This method takes a string and returns a biol qualifier representing the string. More...
 
static string BiolQualifierType_toString (int type)
 This method takes a biol qualifier type code and returns a string representing the code. More...
 
static XMLNode deleteLayoutAnnotation (XMLNode pAnnotation)
 Takes an XMLNode and tries to find the layout annotation node and deletes it if it was found. More...
 
static XMLNode deleteLayoutIdAnnotation (XMLNode pAnnotation)
 Takes an XMLNode and tries to find the layoutId annotation node and deletes it if it was found. More...
 
static ASTBasePlugin DowncastASTBasePlugin (IntPtr cPtr, bool owner)
 
static SBMLExtension DowncastExtension (IntPtr cPtr, bool owner)
 
static SBase DowncastSBase (IntPtr cPtr, bool owner)
 
static SBasePlugin DowncastSBasePlugin (IntPtr cPtr, bool owner)
 
static SBMLConverter DowncastSBMLConverter (IntPtr cPtr, bool owner)
 
static SBMLNamespaces DowncastSBMLNamespaces (IntPtr cPtr, bool owner)
 
static string formulaToL3String (ASTNode tree)
 Converts an AST to a string representation of a formula using a syntax derived from SBML Level 1, but extended to include elements from SBML Level 2 and SBML Level 3. More...
 
static string formulaToL3StringWithSettings (ASTNode tree, L3ParserSettings settings)
 Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1, with behavior modifiable with custom settings. More...
 
static string formulaToString (ASTNode tree)
 Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1. More...
 
static L3ParserSettings getDefaultL3ParserSettings ()
 Returns a copy of the default Level 3 ('L3') formula parser settings. More...
 
static string getLastParseL3Error ()
 Returns the last error reported by the 'L3' mathematical formula parser. More...
 
static string getLibSBMLDependencyVersionOf (string option)
 Returns the version string for the dependency library used. More...
 
static string getLibSBMLDottedVersion ()
 Returns the version number of this copy of libSBML as a string. More...
 
static int getLibSBMLVersion ()
 Returns the version number of this copy of libSBML as an integer. More...
 
static string getLibSBMLVersionString ()
 Returns the version number of this copy of libSBML as a string without periods. More...
 
static int GroupKind_fromString (string code)
 Returns the enumeration value corresponding to the given string or GROUP_KIND_UNKNOWN if there is no such match. More...
 
static int GroupKind_isValid (int gk)
 Predicate returning 1 (true) or 0 (false) depending on whether the given enumeration value is valid. More...
 
static int GroupKind_isValidString (string code)
 Predicate returning 1 (true) or 0 (false) depending on whether the given string is a valid enumeration value. More...
 
static string GroupKind_toString (int gk)
 Returns the string version of the provided enumeration value. More...
 
static int isLibSBMLCompiledWith (string option)
 Returns an indication whether libSBML has been compiled with against a specific library. More...
 
static int ModelQualifierType_fromString (string s)
 This method takes a string and returns a model qualifier representing the string. More...
 
static string ModelQualifierType_toString (int type)
 This method takes a model qualifier type code and returns a string representing the code. More...
 
static string OperationReturnValue_toString (int returnValue)
 This method takes an SBML operation return value and returns a string representing the code. More...
 
static ASTNode parseFormula (string formula)
 Parses the given SBML formula and returns a representation of it as an Abstract Syntax Tree (AST). More...
 
static ASTNode parseL3Formula (string formula)
 Parses a text string as a mathematical formula and returns an AST representation of it. More...
 
static ASTNode parseL3FormulaWithModel (string formula, Model model)
 Parses a text string as a mathematical formula using a Model to resolve symbols, and returns an AST representation of the result. More...
 
static ASTNode parseL3FormulaWithSettings (string formula, L3ParserSettings settings)
 Parses a text string as a mathematical formula using specific parser settings and returns an AST representation of the result. More...
 
static void parseLayoutAnnotation (XMLNode annotation, ListOfLayouts layouts)
 takes an annotation that has been read into the model identifies the RDF elements and creates a List of Layouts from the annotation More...
 
static XMLNode parseLayoutId (SimpleSpeciesReference sr)
 Creates an XMLNode that represents the layoutId annotation of the species reference from the given SpeciesReference object. More...
 
static XMLNode parseLayouts (Model pModel)
 Creates an XMLNode that represents the layouts of the model from the given Model object. More...
 
static void parseSpeciesReferenceAnnotation (XMLNode annotation, SimpleSpeciesReference sr)
 takes an annotation that has been read into the species reference identifies the id elements and set the id of the species reference More...
 
static ASTNode readMathMLFromString (string xml)
 Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree. More...
 
static ASTNode readMathMLFromStringWithNamespaces (string xml, XMLNamespaces xmlns)
 Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree. More...
 
static SBMLDocument readSBML (string filename)
 Reads an SBML document from the given file. More...
 
static SBMLDocument readSBMLFromFile (string filename)
 Reads an SBML document from the given file. More...
 
static SBMLDocument readSBMLFromString (string xml)
 Reads an SBML document from a text string. More...
 
static int Relation_fromString (string code)
 Returns the Relation_t enumeration corresponding to the given string or MULTI_RELATION_UNKNOWN if there is no such match. More...
 
static string Relation_toString (int r)
 Returns the string version of the provided Relation_t enumeration. More...
 
static void SBML_deleteL3Parser ()
 
static string SBMLTypeCode_toString (int tc, string pkgName)
 This method takes an SBML type code and returns a string representing the code. More...
 
static int SpreadMethod_fromString (string name)
 
static string SpreadMethod_toString (int method)
 
static int TextAnchor_fromString (string str)
 
static string TextAnchor_toString (int anchor)
 
static int UnitKind_equals (int uk1, int uk2)
 Tests for logical equality between two given. More...
 
static int UnitKind_forName (string name)
 Converts a text string naming a kind of unit to its corresponding libSBML. More...
 
static int UnitKind_isValidUnitKindString (string str, long level, long version)
 Predicate for testing whether a given string corresponds to a predefined libSBML unit code. More...
 
static string UnitKind_toString (int uk)
 Converts a unit code to a text string equivalent. More...
 
static string writeMathMLToString (ASTNode node)
 Writes the given ASTNode (and its children) to a string as MathML, and returns the string. More...
 
static string writeMathMLWithNamespaceToString (ASTNode node, SBMLNamespaces sbmlns)
 Writes the given AST node (and its children) to a string as MathML, and returns the string. More...
 
static int writeSBML (SBMLDocument d, string filename)
 Writes the given SBML document d to the file named by filename. More...
 
static int writeSBMLToFile (SBMLDocument d, string filename)
 Writes the given SBML document d to the file filename. More...
 
static string writeSBMLToString (SBMLDocument d)
 Writes the given SBML document d to an in-memory string and returns a pointer to it. More...
 

Public Attributes

const int AllChecksON = 0x7f
 
const int ALLOWED_CHILDREN_ANY = 0
 
const int ALLOWED_CHILDREN_ATLEAST = ALLOWED_CHILDREN_ANY + 1
 
const int ALLOWED_CHILDREN_EXACTLY = ALLOWED_CHILDREN_ATLEAST + 1
 
const int ALLOWED_CHILDREN_UNKNOWN = ALLOWED_CHILDREN_EXACTLY + 1
 
const int AllowedAttributesOnAlgRule = 20910
 
const int AllowedAttributesOnAssignRule = 20908
 
const int AllowedAttributesOnCompartment = 20517
 
const int AllowedAttributesOnConstraint = 21009
 
const int AllowedAttributesOnDelay = 21227
 
const int AllowedAttributesOnEvent = 21225
 
const int AllowedAttributesOnEventAssignment = 21214
 
const int AllowedAttributesOnFunc = 20307
 
const int AllowedAttributesOnInitialAssign = 20805
 
const int AllowedAttributesOnKineticLaw = 21132
 
const int AllowedAttributesOnListOfComps = 20225
 
const int AllowedAttributesOnListOfConstraints = 20230
 
const int AllowedAttributesOnListOfEventAssign = 21224
 
const int AllowedAttributesOnListOfEvents = 20232
 
const int AllowedAttributesOnListOfFuncs = 20223
 
const int AllowedAttributesOnListOfInitAssign = 20228
 
const int AllowedAttributesOnListOfLocalParam = 21129
 
const int AllowedAttributesOnListOfMods = 21151
 
const int AllowedAttributesOnListOfParams = 20227
 
const int AllowedAttributesOnListOfReactions = 20231
 
const int AllowedAttributesOnListOfRules = 20229
 
const int AllowedAttributesOnListOfSpecies = 20226
 
const int AllowedAttributesOnListOfSpeciesRef = 21150
 
const int AllowedAttributesOnListOfUnitDefs = 20224
 
const int AllowedAttributesOnListOfUnits = 20420
 
const int AllowedAttributesOnLocalParameter = 21172
 
const int AllowedAttributesOnModel = 20222
 
const int AllowedAttributesOnModifier = 21117
 
const int AllowedAttributesOnParameter = 20706
 
const int AllowedAttributesOnPriority = 21232
 
const int AllowedAttributesOnRateRule = 20909
 
const int AllowedAttributesOnReaction = 21110
 
const int AllowedAttributesOnSBML = 20108
 
const int AllowedAttributesOnSpecies = 20623
 
const int AllowedAttributesOnSpeciesReference = 21116
 
const int AllowedAttributesOnTrigger = 21226
 
const int AllowedAttributesOnUnit = 20421
 
const int AllowedAttributesOnUnitDefinition = 20419
 
const int AND_ASSOCIATION = 1
 
const int AnnotationNotElement = 99406
 
const int AnnotationNotesNotAllowedLevel1 = 99104
 
const int ApplyCiMustBeModelComponent = 10215
 
const int ApplyCiMustBeUserFunction = 10214
 
const int ArgsToEqNeedSameType = 10211
 
const int AssignmentToConstantEntity = 20903
 
const int AssignRuleCompartmentMismatch = 10511
 
const int AssignRuleParameterMismatch = 10513
 
const int AssignRuleSpeciesMismatch = 10512
 
const int AssignRuleStoichiometryMismatch = 10514
 
const int AST_CONSTANT_E = AST_NAME_TIME + 1
 
const int AST_CONSTANT_FALSE = AST_CONSTANT_E + 1
 
const int AST_CONSTANT_PI = AST_CONSTANT_FALSE + 1
 
const int AST_CONSTANT_TRUE = AST_CONSTANT_PI + 1
 
const int AST_CSYMBOL_FUNCTION = 400
 
const int AST_DISTRIB_FUNCTION_BERNOULLI = AST_DISTRIB_FUNCTION_UNIFORM + 1
 
const int AST_DISTRIB_FUNCTION_BINOMIAL = AST_DISTRIB_FUNCTION_BERNOULLI + 1
 
const int AST_DISTRIB_FUNCTION_CAUCHY = AST_DISTRIB_FUNCTION_BINOMIAL + 1
 
const int AST_DISTRIB_FUNCTION_CHISQUARE = AST_DISTRIB_FUNCTION_CAUCHY + 1
 
const int AST_DISTRIB_FUNCTION_EXPONENTIAL = AST_DISTRIB_FUNCTION_CHISQUARE + 1
 
const int AST_DISTRIB_FUNCTION_GAMMA = AST_DISTRIB_FUNCTION_EXPONENTIAL + 1
 
const int AST_DISTRIB_FUNCTION_LAPLACE = AST_DISTRIB_FUNCTION_GAMMA + 1
 
const int AST_DISTRIB_FUNCTION_LOGNORMAL = AST_DISTRIB_FUNCTION_LAPLACE + 1
 
const int AST_DISTRIB_FUNCTION_NORMAL = 500
 
const int AST_DISTRIB_FUNCTION_POISSON = AST_DISTRIB_FUNCTION_LOGNORMAL + 1
 
const int AST_DISTRIB_FUNCTION_RAYLEIGH = AST_DISTRIB_FUNCTION_POISSON + 1
 
const int AST_DISTRIB_FUNCTION_UNIFORM = AST_DISTRIB_FUNCTION_NORMAL + 1
 
const int AST_DIVIDE = '/'
 
const int AST_END_OF_CORE = 315
 
const int AST_FUNCTION = AST_LAMBDA + 1
 
const int AST_FUNCTION_ABS = AST_FUNCTION + 1
 
const int AST_FUNCTION_ARCCOS = AST_FUNCTION_ABS + 1
 
const int AST_FUNCTION_ARCCOSH = AST_FUNCTION_ARCCOS + 1
 
const int AST_FUNCTION_ARCCOT = AST_FUNCTION_ARCCOSH + 1
 
const int AST_FUNCTION_ARCCOTH = AST_FUNCTION_ARCCOT + 1
 
const int AST_FUNCTION_ARCCSC = AST_FUNCTION_ARCCOTH + 1
 
const int AST_FUNCTION_ARCCSCH = AST_FUNCTION_ARCCSC + 1
 
const int AST_FUNCTION_ARCSEC = AST_FUNCTION_ARCCSCH + 1
 
const int AST_FUNCTION_ARCSECH = AST_FUNCTION_ARCSEC + 1
 
const int AST_FUNCTION_ARCSIN = AST_FUNCTION_ARCSECH + 1
 
const int AST_FUNCTION_ARCSINH = AST_FUNCTION_ARCSIN + 1
 
const int AST_FUNCTION_ARCTAN = AST_FUNCTION_ARCSINH + 1
 
const int AST_FUNCTION_ARCTANH = AST_FUNCTION_ARCTAN + 1
 
const int AST_FUNCTION_CEILING = AST_FUNCTION_ARCTANH + 1
 
const int AST_FUNCTION_COS = AST_FUNCTION_CEILING + 1
 
const int AST_FUNCTION_COSH = AST_FUNCTION_COS + 1
 
const int AST_FUNCTION_COT = AST_FUNCTION_COSH + 1
 
const int AST_FUNCTION_COTH = AST_FUNCTION_COT + 1
 
const int AST_FUNCTION_CSC = AST_FUNCTION_COTH + 1
 
const int AST_FUNCTION_CSCH = AST_FUNCTION_CSC + 1
 
const int AST_FUNCTION_DELAY = AST_FUNCTION_CSCH + 1
 
const int AST_FUNCTION_EXP = AST_FUNCTION_DELAY + 1
 
const int AST_FUNCTION_FACTORIAL = AST_FUNCTION_EXP + 1
 
const int AST_FUNCTION_FLOOR = AST_FUNCTION_FACTORIAL + 1
 
const int AST_FUNCTION_LN = AST_FUNCTION_FLOOR + 1
 
const int AST_FUNCTION_LOG = AST_FUNCTION_LN + 1
 
const int AST_FUNCTION_MAX = 320
 
const int AST_FUNCTION_MIN = AST_FUNCTION_MAX + 1
 
const int AST_FUNCTION_PIECEWISE = AST_FUNCTION_LOG + 1
 
const int AST_FUNCTION_POWER = AST_FUNCTION_PIECEWISE + 1
 
const int AST_FUNCTION_QUOTIENT = AST_FUNCTION_MIN + 1
 
const int AST_FUNCTION_RATE_OF = AST_FUNCTION_QUOTIENT + 1
 
const int AST_FUNCTION_REM = AST_FUNCTION_RATE_OF + 1
 
const int AST_FUNCTION_ROOT = AST_FUNCTION_POWER + 1
 
const int AST_FUNCTION_SEC = AST_FUNCTION_ROOT + 1
 
const int AST_FUNCTION_SECH = AST_FUNCTION_SEC + 1
 
const int AST_FUNCTION_SIN = AST_FUNCTION_SECH + 1
 
const int AST_FUNCTION_SINH = AST_FUNCTION_SIN + 1
 
const int AST_FUNCTION_TAN = AST_FUNCTION_SINH + 1
 
const int AST_FUNCTION_TANH = AST_FUNCTION_TAN + 1
 
const int AST_INTEGER = 256
 
const int AST_LAMBDA = AST_CONSTANT_TRUE + 1
 
const int AST_LINEAR_ALGEBRA_DETERMINANT = AST_LINEAR_ALGEBRA_MATRIXROW + 1
 
const int AST_LINEAR_ALGEBRA_MATRIX = AST_LINEAR_ALGEBRA_SELECTOR + 1
 
const int AST_LINEAR_ALGEBRA_MATRIXROW = AST_LINEAR_ALGEBRA_MATRIX + 1
 
const int AST_LINEAR_ALGEBRA_OUTER_PRODUCT = AST_LINEAR_ALGEBRA_SCALAR_PRODUCT + 1
 
const int AST_LINEAR_ALGEBRA_SCALAR_PRODUCT = AST_LINEAR_ALGEBRA_VECTOR_PRODUCT + 1
 
const int AST_LINEAR_ALGEBRA_SELECTOR = AST_LINEAR_ALGEBRA_VECTOR + 1
 
const int AST_LINEAR_ALGEBRA_TRANSPOSE = AST_LINEAR_ALGEBRA_DETERMINANT + 1
 
const int AST_LINEAR_ALGEBRA_VECTOR = AST_DISTRIB_FUNCTION_RAYLEIGH + 1
 
const int AST_LINEAR_ALGEBRA_VECTOR_PRODUCT = AST_LINEAR_ALGEBRA_TRANSPOSE + 1
 
const int AST_LOGICAL_AND = AST_FUNCTION_TANH + 1
 
const int AST_LOGICAL_EXISTS = AST_LINEAR_ALGEBRA_OUTER_PRODUCT + 1
 
const int AST_LOGICAL_FORALL = AST_LOGICAL_EXISTS + 1
 
const int AST_LOGICAL_IMPLIES = AST_FUNCTION_REM + 1
 
const int AST_LOGICAL_NOT = AST_LOGICAL_AND + 1
 
const int AST_LOGICAL_OR = AST_LOGICAL_NOT + 1
 
const int AST_LOGICAL_XOR = AST_LOGICAL_OR + 1
 
const int AST_MINUS = '-'
 
const int AST_NAME = AST_RATIONAL + 1
 
const int AST_NAME_AVOGADRO = AST_NAME + 1
 
const int AST_NAME_TIME = AST_NAME_AVOGADRO + 1
 
const int AST_PLUS = '+'
 
const int AST_POWER = '^'
 
const int AST_RATIONAL = AST_REAL_E + 1
 
const int AST_REAL = AST_INTEGER + 1
 
const int AST_REAL_E = AST_REAL + 1
 
const int AST_RELATIONAL_EQ = AST_LOGICAL_XOR + 1
 
const int AST_RELATIONAL_GEQ = AST_RELATIONAL_EQ + 1
 
const int AST_RELATIONAL_GT = AST_RELATIONAL_GEQ + 1
 
const int AST_RELATIONAL_LEQ = AST_RELATIONAL_GT + 1
 
const int AST_RELATIONAL_LT = AST_RELATIONAL_LEQ + 1
 
const int AST_RELATIONAL_NEQ = AST_RELATIONAL_LT + 1
 
const int AST_SERIES_PRODUCT = AST_STATISTICS_MOMENT + 1
 
const int AST_SERIES_SUM = AST_STATISTICS_SDEV + 1
 
const int AST_STATISTICS_MEAN = AST_LOGICAL_FORALL + 1
 
const int AST_STATISTICS_MEDIAN = AST_STATISTICS_MEAN + 1
 
const int AST_STATISTICS_MODE = AST_STATISTICS_MEDIAN + 1
 
const int AST_STATISTICS_MOMENT = AST_STATISTICS_MODE + 1
 
const int AST_STATISTICS_SDEV = AST_SERIES_PRODUCT + 1
 
const int AST_STATISTICS_VARIANCE = AST_SERIES_SUM + 1
 
const int AST_TIMES = '*'
 
const int AST_UNKNOWN = AST_STATISTICS_VARIANCE + 1
 
const int AvogadroNotSupported = 91020
 
const int BadCsymbolDefinitionURLValue = 10205
 
const int BadlyFormedXML = 1006
 
const int BadMathML = 99219
 
const int BadMathMLNodeType = 99224
 
const int BadProcessingInstruction = 1012
 
const int BadXMLAttribute = 1020
 
const int BadXMLAttributeValue = 1019
 
const int BadXMLComment = 1022
 
const int BadXMLDecl = 1003
 
const int BadXMLDeclLocation = 1023
 
const int BadXMLDOCTYPE = 1004
 
const int BadXMLDocumentStructure = 1028
 
const int BadXMLIDRef = 1026
 
const int BadXMLIDValue = 1025
 
const int BadXMLPrefix = 1013
 
const int BadXMLPrefixValue = 1014
 
const int BIOLOGICAL_QUALIFIER = MODEL_QUALIFIER + 1
 
const int BooleanNumericDiscrepancy = 98006
 
const int BooleanOpsNeedBooleanArgs = 10209
 
const int BothAmountAndConcentrationSet = 20609
 
const int BothStoichiometryAndMath = 21113
 
const int BQB_ENCODES = BQB_IS_ENCODED_BY + 1
 
const int BQB_HAS_PART = BQB_IS + 1
 
const int BQB_HAS_PROPERTY = BQB_OCCURS_IN + 1
 
const int BQB_HAS_TAXON = BQB_IS_PROPERTY_OF + 1
 
const int BQB_HAS_VERSION = BQB_IS_VERSION_OF + 1
 
const int BQB_IS = 0
 
const int BQB_IS_DESCRIBED_BY = BQB_IS_HOMOLOG_TO + 1
 
const int BQB_IS_ENCODED_BY = BQB_IS_DESCRIBED_BY + 1
 
const int BQB_IS_HOMOLOG_TO = BQB_HAS_VERSION + 1
 
const int BQB_IS_PART_OF = BQB_HAS_PART + 1
 
const int BQB_IS_PROPERTY_OF = BQB_HAS_PROPERTY + 1
 
const int BQB_IS_VERSION_OF = BQB_IS_PART_OF + 1
 
const int BQB_OCCURS_IN = BQB_ENCODES + 1
 
const int BQB_UNKNOWN = BQB_HAS_TAXON + 1
 
const int BQM_HAS_INSTANCE = BQM_IS_INSTANCE_OF + 1
 
const int BQM_IS = 0
 
const int BQM_IS_DERIVED_FROM = BQM_IS_DESCRIBED_BY + 1
 
const int BQM_IS_DESCRIBED_BY = BQM_IS + 1
 
const int BQM_IS_INSTANCE_OF = BQM_IS_DERIVED_FROM + 1
 
const int BQM_UNKNOWN = BQM_HAS_INSTANCE + 1
 
const int CannotConvertToL1V1 = 90001
 
const int CannotVerifyUnitsObjectNoMath = 99509
 
const int CelsiusNoLongerValid = 20412
 
const int CiCannotReference0DCompartment = 10222
 
const int CircularDependencyRateOf = 20912
 
const int CircularRuleDependency = 20906
 
const int CNV_TYPE_BOOL = 0
 
const int CNV_TYPE_DOUBLE = CNV_TYPE_BOOL + 1
 
const int CNV_TYPE_INT = CNV_TYPE_DOUBLE + 1
 
const int CNV_TYPE_SINGLE = CNV_TYPE_INT + 1
 
const int CNV_TYPE_STRING = CNV_TYPE_SINGLE + 1
 
const int CompartmentNotOnL1Reaction = 91016
 
const int CompartmentOnReaction = 21107
 
const int CompartmentShouldHaveSize = 80501
 
const int CompartmentTypeNotValidAttribute = 99902
 
const int CompartmentTypeNotValidComponent = 99908
 
const int CompAttributeRequiredMissing = 1020201
 
const int CompAttributeRequiredMustBeBoolean = 1020202
 
const int CompAttributeRequiredMustBeTrue = 1020212
 
const int CompCircularExternalModelReference = 1020310
 
const int CompDeletedReplacement = 1090114
 
const int CompDeletionAllowedAttributes = 1020903
 
const int CompDeletionMustReferenceObject = 1020901
 
const int CompDeletionMustReferOnlyOneObject = 1020902
 
const int CompDeprecatedDeleteFunction = 1090112
 
const int CompDeprecatedReplaceFunction = 1090113
 
const int CompDeprecatedSBaseRefSpelling = 1020711
 
const int CompDuplicateComponentId = 1010301
 
const int CompElementNotInNs = 1010102
 
const int CompEmptyLOModelDefs = 1020206
 
const int CompEmptyLOReplacedElements = 1020104
 
const int CompExtentConversionMustBeParameter = 1020623
 
const int CompExtModDefAllowedAttributes = 1020303
 
const int CompExtModDefAllowedCoreAttributes = 1020301
 
const int CompExtModDefAllowedElements = 1020302
 
const int CompExtModDefBad = 1090103
 
const int CompExtModMd5DoesNotMatch = 1020306
 
const int CompFlatModelNotValid = 1090105
 
const int CompFlatteningNotImplementedNotReqd = 1090109
 
const int CompFlatteningNotImplementedReqd = 1090110
 
const int CompFlatteningNotRecognisedNotReqd = 1090108
 
const int CompFlatteningNotRecognisedReqd = 1090107
 
const int CompFlatteningWarning = 1090111
 
const int CompIdRefMayReferenceUnknownPackage = 1090115
 
const int CompIdRefMustReferenceObject = 1020702
 
const int CompInvalidConversionFactorSyntax = 1010310
 
const int CompInvalidDeletionSyntax = 1010309
 
const int CompInvalidExtentConvFactorSyntax = 1020614
 
const int CompInvalidIdRefSyntax = 1020707
 
const int CompInvalidMD5Syntax = 1020309
 
const int CompInvalidMetaIdRefSyntax = 1020709
 
const int CompInvalidModelRefSyntax = 1020308
 
const int CompInvalidNameSyntax = 1010311
 
const int CompInvalidPortRefSyntax = 1020706
 
const int CompInvalidSIdSyntax = 1010304
 
const int CompInvalidSourceSyntax = 1020307
 
const int CompInvalidSubmodelRefSyntax = 1010308
 
const int CompInvalidTimeConvFactorSyntax = 1020613
 
const int CompInvalidUnitRefSyntax = 1020708
 
const int CompLineNumbersUnreliable = 1090106
 
const int CompLODeletionAllowedAttributes = 1020606
 
const int CompLODeletionsAllowedElements = 1020605
 
const int CompLOExtModDefsAllowedAttributes = 1020210
 
const int CompLOExtModelDefsAllowedElements = 1020208
 
const int CompLOModelDefsAllowedAttributes = 1020209
 
const int CompLOModelDefsAllowedElements = 1020207
 
const int CompLOPortsAllowedAttributes = 1020506
 
const int CompLOPortsAllowedElements = 1020504
 
const int CompLOReplacedElementsAllowedAttribs = 1020103
 
const int CompLOReplaceElementsAllowedElements = 1020102
 
const int CompLOSubmodelsAllowedAttributes = 1020505
 
const int CompLOSubmodelsAllowedElements = 1020503
 
const int CompMetaIdRefMayReferenceUnknownPkg = 1090116
 
const int CompMetaIdRefMustReferenceObject = 1020704
 
const int CompModCannotCircularlyReferenceSelf = 1020617
 
const int CompModelFlatteningFailed = 1090104
 
const int CompModReferenceMustIdOfModel = 1020305
 
const int CompModReferenceSyntax = 1020608
 
const int CompMustReplaceIDs = 1021202
 
const int CompMustReplaceMetaIDs = 1021203
 
const int CompMustReplacePackageIDs = 1021204
 
const int CompMustReplaceSameClass = 1021201
 
const int CompNoEmptyListOfOnModel = 1020502
 
const int CompNoModelInReference = 1090102
 
const int CompNoMultipleReferences = 1020714
 
const int CompNSUndeclared = 1010101
 
const int CompOneListOfDeletionOnSubmodel = 1020603
 
const int CompOneListOfExtModelDefinitions = 1020211
 
const int CompOneListOfModelDefinitions = 1020205
 
const int CompOneListOfOnModel = 1020501
 
const int CompOneListOfReplacedElements = 1020101
 
const int CompOneReplacedByElement = 1020105
 
const int CompOneSBaseRefOnly = 1020710
 
const int CompParentOfSBRefChildMustBeSubmodel = 1020705
 
const int CompPortAllowedAttributes = 1020803
 
const int CompPortMustReferenceObject = 1020801
 
const int CompPortMustReferenceOnlyOneObject = 1020802
 
const int CompPortReferencesUnique = 1020804
 
const int CompPortRefMustReferencePort = 1020701
 
const int CompReferenceMustBeL3 = 1020304
 
const int CompReplacedByAllowedAttributes = 1021103
 
const int CompReplacedByMustRefObject = 1021101
 
const int CompReplacedByMustRefOnlyOne = 1021102
 
const int CompReplacedBySubModelRef = 1021104
 
const int CompReplacedElementAllowedAttributes = 1021003
 
const int CompReplacedElementConvFactorRef = 1021006
 
const int CompReplacedElementDeletionRef = 1021005
 
const int CompReplacedElementMustRefObject = 1021001
 
const int CompReplacedElementMustRefOnlyOne = 1021002
 
const int CompReplacedElementNoDelAndConvFact = 1021011
 
const int CompReplacedElementSameReference = 1021010
 
const int CompReplacedElementSubModelRef = 1021004
 
const int CompReplacedUnitsShouldMatch = 1010501
 
const int CompRequiredFalseIfAllElementsReplaced = 1020204
 
const int CompRequiredTrueIfElementsRemain = 1020203
 
const int CompSBaseRefMustReferenceObject = 1020712
 
const int CompSBaseRefMustReferenceOnlyOneObject = 1020713
 
const int CompSubmodelAllowedAttributes = 1020607
 
const int CompSubmodelAllowedCoreAttributes = 1020601
 
const int CompSubmodelAllowedElements = 1020602
 
const int CompSubmodelCannotReferenceSelf = 1020616
 
const int CompSubmodelMustReferenceModel = 1020615
 
const int CompSubmodelNoEmptyLODeletions = 1020604
 
const int CompTimeConversionMustBeParameter = 1020622
 
const int CompUniqueModelIds = 1010302
 
const int CompUniquePortIds = 1010303
 
const int CompUnitRefMustReferenceUnitDef = 1020703
 
const int CompUnknown = 1010100
 
const int CompUnresolvedReference = 1090101
 
const int ConstantNotValidAttribute = 99903
 
const int ConstantSpeciesNotValidAttribute = 99916
 
const int ConstraintContainsDOCTYPE = 21005
 
const int ConstraintContainsXMLDecl = 21004
 
const int ConstraintMathNotBoolean = 21001
 
const int ConstraintNotInXHTMLNamespace = 21003
 
const int ConstraintNotValidComponent = 99909
 
const int ConversionFactorMustConstant = 20705
 
const int ConversionFactorNotInL1 = 91015
 
const int ConversionFactorOnSpecies = 20617
 
const int ConvertibleMathInitialAssignment = 98009
 
const int DanglingUnitReference = 10313
 
const int DanglingUnitSIdRef = 99303
 
const int DelayNeedsValuesFromTriggerTime = 21207
 
const int DelayUnitsNotTime = 10551
 
const int DisallowedDefinitionURLUse = 10204
 
const int DisallowedMathMLEncodingUse = 10203
 
const int DisallowedMathMLSymbol = 10202
 
const int DisallowedMathTypeAttributeUse = 10206
 
const int DisallowedMathTypeAttributeValue = 10207
 
const int DisallowedMathUnitsUse = 10220
 
const int DoubleExponentNotSupported = 98001
 
const int DuplicateAnnotationInvalidInL2v2 = 93009
 
const int DuplicateAnnotationInvalidInL2v3 = 94010
 
const int DuplicateAnnotationInvalidInL2v4 = 95007
 
const int DuplicateAnnotationInvalidInL3v1 = 96009
 
const int DuplicateAnnotationNamespaces = 10402
 
const int DuplicateComponentId = 10301
 
const int DuplicateLocalParameterId = 10303
 
const int DuplicateMetaId = 10307
 
const int DuplicateUnitDefinitionId = 10302
 
const int DuplicateXMLAttribute = 1010
 
const int EM_ARRAYS = EM_DISTRIB + 1
 
const int EM_DISTRIB = EM_L3V2 + 1
 
const int EM_L3V2 = 0
 
const int EM_UNKNOWN = EM_ARRAYS + 1
 
const int EmptyListElement = 20203
 
const int EmptyListInKineticLaw = 21123
 
const int EmptyListInReaction = 21103
 
const int EmptyListOfElementNotSupported = 98003
 
const int EmptyListOfUnits = 20409
 
const int EmptyUnitListElement = 20413
 
const int EventAndAssignmentRuleForId = 10306
 
const int EventAssignCompartmentMismatch = 10561
 
const int EventAssignmentForConstantEntity = 21212
 
const int EventAssignParameterMismatch = 10563
 
const int EventAssignSpeciesMismatch = 10562
 
const int EventAssignStoichiometryMismatch = 10564
 
const int EventNotValidComponent = 99910
 
const int ExtentUnitsNotSubstance = 91017
 
const int FailedMathMLReadOfDouble = 99220
 
const int FailedMathMLReadOfExponential = 99222
 
const int FailedMathMLReadOfInteger = 99221
 
const int FailedMathMLReadOfRational = 99223
 
const int FastReactionsNotSupported = 98010
 
const int FbcActiveObjectiveRefersObjective = 2020208
 
const int FbcActiveObjectiveSyntax = 2020207
 
const int FbcAndAllowedCoreAttributes = 2021001
 
const int FbcAndAllowedCoreElements = 2021002
 
const int FbcAndTwoChildren = 2021003
 
const int FbcAttributeRequiredMissing = 2020101
 
const int FbcAttributeRequiredMustBeBoolean = 2020102
 
const int FbcDuplicateComponentId = 2010301
 
const int FbcElementNotInNs = 2010102
 
const int FbcFluxBoundAllowedElements = 2020402
 
const int FbcFluxBoundAllowedL3Attributes = 2020401
 
const int FbcFluxBoundNameMustBeString = 2020405
 
const int FbcFluxBoundOperationMustBeEnum = 2020406
 
const int FbcFluxBoundReactionMustExist = 2020408
 
const int FbcFluxBoundRectionMustBeSIdRef = 2020404
 
const int FbcFluxBoundRequiredAttributes = 2020403
 
const int FbcFluxBoundsForReactionConflict = 2020409
 
const int FbcFluxBoundValueMustBeDouble = 2020407
 
const int FbcFluxObjectAllowedElements = 2020602
 
const int FbcFluxObjectAllowedL3Attributes = 2020601
 
const int FbcFluxObjectCoefficientMustBeDouble = 2020607
 
const int FbcFluxObjectCoefficientWhenStrict = 2020608
 
const int FbcFluxObjectNameMustBeString = 2020604
 
const int FbcFluxObjectReactionMustBeSIdRef = 2020605
 
const int FbcFluxObjectReactionMustExist = 2020606
 
const int FbcFluxObjectRequiredAttributes = 2020603
 
const int FbcGeneProdAssocAllowedAttribs = 2020803
 
const int FbcGeneProdAssocAllowedCoreAttribs = 2020801
 
const int FbcGeneProdAssocAllowedCoreElements = 2020802
 
const int FbcGeneProdAssocContainsOneElement = 2020805
 
const int FbcGeneProdAssocIdSyntax = 2020804
 
const int FbcGeneProdAssocNameMustBeString = 2020806
 
const int FbcGeneProdRefAllowedAttribs = 2020903
 
const int FbcGeneProdRefAllowedCoreAttribs = 2020901
 
const int FbcGeneProdRefAllowedCoreElements = 2020902
 
const int FbcGeneProdRefGeneProductExists = 2020908
 
const int FbcGeneProdRefGeneProductSIdRef = 2020904
 
const int FbcGeneProductAllowedAttributes = 2021203
 
const int FbcGeneProductAllowedCoreAttributes = 2021201
 
const int FbcGeneProductAllowedCoreElements = 2021202
 
const int FbcGeneProductAssocSpeciesMustExist = 2021207
 
const int FbcGeneProductLabelMustBeString = 2021204
 
const int FbcGeneProductLabelMustBeUnique = 2021205
 
const int FbcGeneProductNameMustBeString = 2021206
 
const int FbcLOFluxBoundsAllowedAttributes = 2020205
 
const int FbcLOFluxBoundsAllowedElements = 2020203
 
const int FbcLOGeneProductsAllowedAttributes = 2020212
 
const int FbcLOGeneProductsAllowedElements = 2020211
 
const int FbcLOObjectivesAllowedAttributes = 2020206
 
const int FbcLOObjectivesAllowedElements = 2020204
 
const int FbcModelMustHaveStrict = 2020209
 
const int FbcModelStrictMustBeBoolean = 2020210
 
const int FbcNoEmptyListOfs = 2020202
 
const int FbcNSUndeclared = 2010101
 
const int FbcObjectiveAllowedElements = 2020502
 
const int FbcObjectiveAllowedL3Attributes = 2020501
 
const int FbcObjectiveLOFluxObjAllowedAttribs = 2020509
 
const int FbcObjectiveLOFluxObjMustNotBeEmpty = 2020507
 
const int FbcObjectiveLOFluxObjOnlyFluxObj = 2020508
 
const int FbcObjectiveNameMustBeString = 2020504
 
const int FbcObjectiveOneListOfObjectives = 2020506
 
const int FbcObjectiveRequiredAttributes = 2020503
 
const int FbcObjectiveTypeMustBeEnum = 2020505
 
const int FbcOnlyOneEachListOf = 2020201
 
const int FbcOrAllowedCoreAttributes = 2021101
 
const int FbcOrAllowedCoreElements = 2021102
 
const int FbcOrTwoChildren = 2021103
 
const int FbcReactionAllowedAttributes = 2020702
 
const int FbcReactionBoundsMustHaveValuesStrict = 2020709
 
const int FbcReactionBoundsNotAssignedStrict = 2020710
 
const int FbcReactionConstantBoundsStrict = 2020708
 
const int FbcReactionLwrBoundNotInfStrict = 2020711
 
const int FbcReactionLwrBoundRefExists = 2020705
 
const int FbcReactionLwrBoundSIdRef = 2020703
 
const int FbcReactionLwrLessThanUpStrict = 2020713
 
const int FbcReactionMustHaveBoundsStrict = 2020707
 
const int FbcReactionOnlyOneGeneProdAss = 2020701
 
const int FbcReactionUpBoundNotNegInfStrict = 2020712
 
const int FbcReactionUpBoundRefExists = 2020706
 
const int FbcReactionUpBoundSIdRef = 2020704
 
const int FbcRequiredFalse = 2020103
 
const int FbcSBMLSIdSyntax = 2010302
 
const int FbcSpeciesAllowedL3Attributes = 2020301
 
const int FbcSpeciesChargeMustBeInteger = 2020302
 
const int FbcSpeciesFormulaMustBeString = 2020303
 
const int FbcSpeciesReferenceConstantStrict = 2020714
 
const int FbcSpeciesRefNotAssignedStrict = 2020716
 
const int FbcSpeciesRefsStoichMustBeRealStrict = 2020715
 
const int FbcUnknown = 2010100
 
const int FILL_RULE_EVENODD = FILL_RULE_NONZERO + 1
 
const int FILL_RULE_INHERIT = FILL_RULE_EVENODD + 1
 
const int FILL_RULE_INVALID = FILL_RULE_INHERIT + 1
 
const int FILL_RULE_NONZERO = FILL_RULE_UNSET + 1
 
const int FILL_RULE_UNSET = 0
 
const int FLUXBOUND_OPERATION_EQUAL = FLUXBOUND_OPERATION_GREATER + 1
 
const int FLUXBOUND_OPERATION_GREATER = FLUXBOUND_OPERATION_LESS + 1
 
const int FLUXBOUND_OPERATION_GREATER_EQUAL = FLUXBOUND_OPERATION_LESS_EQUAL + 1
 
const int FLUXBOUND_OPERATION_LESS = FLUXBOUND_OPERATION_GREATER_EQUAL + 1
 
const int FLUXBOUND_OPERATION_LESS_EQUAL = 0
 
const int FLUXBOUND_OPERATION_UNKNOWN = FLUXBOUND_OPERATION_EQUAL + 1
 
const int FONT_FAMILY_INVALID = FONT_FAMILY_MONOSPACE + 1
 
const int FONT_FAMILY_MONOSPACE = FONT_FAMILY_SANS_SERIF + 1
 
const int FONT_FAMILY_SANS_SERIF = FONT_FAMILY_SERIF + 1
 
const int FONT_FAMILY_SERIF = 0
 
const int FONT_STYLE_INVALID = FONT_STYLE_ITALIC + 1
 
const int FONT_STYLE_ITALIC = FONT_STYLE_NORMAL + 1
 
const int FONT_STYLE_NORMAL = FONT_STYLE_UNSET + 1
 
const int FONT_STYLE_UNSET = 0
 
const int FONT_WEIGHT_BOLD = FONT_WEIGHT_NORMAL + 1
 
const int FONT_WEIGHT_INVALID = FONT_WEIGHT_BOLD + 1
 
const int FONT_WEIGHT_NORMAL = FONT_WEIGHT_UNSET + 1
 
const int FONT_WEIGHT_UNSET = 0
 
const int FormulaInLevel1KL = 99129
 
const int FuncDefNotValidComponent = 99912
 
const int FunctionDefMathNotLambda = 20301
 
const int GENE_ASSOCIATION = 0
 
const int GeneralWarningNotSpecified = 29999
 
const int GlobalUnitsNotDeclared = 91018
 
const int GRADIENT_SPREAD_METHOD_INVALID = GRADIENT_SPREADMETHOD_REPEAT + 1
 
const int GRADIENT_SPREADMETHOD_PAD = 0
 
const int GRADIENT_SPREADMETHOD_REFLECT = GRADIENT_SPREADMETHOD_PAD + 1
 
const int GRADIENT_SPREADMETHOD_REPEAT = GRADIENT_SPREADMETHOD_REFLECT + 1
 
const int GROUP_KIND_CLASSIFICATION = 0
 
const int GROUP_KIND_COLLECTION = GROUP_KIND_PARTONOMY + 1
 
const int GROUP_KIND_PARTONOMY = GROUP_KIND_CLASSIFICATION + 1
 
const int GROUP_KIND_UNKNOWN = GROUP_KIND_COLLECTION + 1
 
const int GroupsAttributeRequiredMissing = 4020101
 
const int GroupsAttributeRequiredMustBeBoolean = 4020102
 
const int GroupsAttributeRequiredMustHaveValue = 4020103
 
const int GroupsDuplicateComponentId = 4010301
 
const int GroupsElementNotInNs = 4010102
 
const int GroupsGroupAllowedAttributes = 4020303
 
const int GroupsGroupAllowedCoreAttributes = 4020301
 
const int GroupsGroupAllowedCoreElements = 4020302
 
const int GroupsGroupAllowedElements = 4020304
 
const int GroupsGroupEmptyLOElements = 4020307
 
const int GroupsGroupKindMustBeGroupKindEnum = 4020305
 
const int GroupsGroupLOMembersAllowedAttributes = 4020310
 
const int GroupsGroupLOMembersAllowedCoreAttributes = 4020309
 
const int GroupsGroupLOMembersAllowedCoreElements = 4020308
 
const int GroupsGroupNameMustBeString = 4020306
 
const int GroupsIdSyntaxRule = 4010302
 
const int GroupsLOMembersConsistentReferences = 4020312
 
const int GroupsLOMembersNameMustBeString = 4020311
 
const int GroupsMemberAllowedAttributes = 4020403
 
const int GroupsMemberAllowedCoreAttributes = 4020401
 
const int GroupsMemberAllowedCoreElements = 4020402
 
const int GroupsMemberIdRefMustBeSBase = 4020405
 
const int GroupsMemberIdRefMustBeSId = 4020407
 
const int GroupsMemberMetaIdRefMustBeID = 4020408
 
const int GroupsMemberMetaIdRefMustBeSBase = 4020406
 
const int GroupsMemberNameMustBeString = 4020404
 
const int GroupsModelAllowedElements = 4020201
 
const int GroupsModelEmptyLOElements = 4020202
 
const int GroupsModelLOGroupsAllowedCoreAttributes = 4020204
 
const int GroupsModelLOGroupsAllowedCoreElements = 4020203
 
const int GroupsNotCircularReferences = 4020313
 
const int GroupsNSUndeclared = 4010101
 
const int GroupsUnknown = 4010100
 
const int H_TEXTANCHOR_END = H_TEXTANCHOR_MIDDLE + 1
 
const int H_TEXTANCHOR_INVALID = H_TEXTANCHOR_END + 1
 
const int H_TEXTANCHOR_MIDDLE = H_TEXTANCHOR_START + 1
 
const int H_TEXTANCHOR_START = H_TEXTANCHOR_UNSET + 1
 
const int H_TEXTANCHOR_UNSET = 0
 
const int HasOnlySubsNoSpatialUnits = 20602
 
const int HasOnlySubstanceUnitsNotinL1 = 91019
 
const int HasOnlySubsUnitsNotValidAttribute = 99919
 
const int IdCheckOFF = 0xfe
 
const int IdCheckON = 0x01
 
const int IdNameSBaseInL3V2 = 98007
 
const int IdNotValidAttribute = 99920
 
const int InconsistentArgUnits = 10501
 
const int InconsistentArgUnitsWarnings = 99502
 
const int InconsistentExponUnitsWarnings = 99504
 
const int InconsistentKineticLawUnitsL3 = 10503
 
const int InconsistentPowerUnitsWarnings = 99503
 
const int IncorrectCompartmentSpatialDimensions = 99901
 
const int IncorrectOrderInConstraint = 21002
 
const int IncorrectOrderInEvent = 21205
 
const int IncorrectOrderInKineticLaw = 21122
 
const int IncorrectOrderInModel = 20202
 
const int IncorrectOrderInReaction = 21102
 
const int INFIX_SYNTAX_CURLY_BRACES = INFIX_SYNTAX_NAMED_SQUARE_BRACKETS + 1
 
const int INFIX_SYNTAX_CURLY_BRACES_SEMICOLON = INFIX_SYNTAX_CURLY_BRACES + 1
 
const int INFIX_SYNTAX_NAMED_SQUARE_BRACKETS = 0
 
const int InitAssignCompartmenMismatch = 10521
 
const int InitAssignmentAndRuleForSameId = 20803
 
const int InitAssignmentCannotRef0DComp = 20806
 
const int InitAssignParameterMismatch = 10523
 
const int InitAssignSpeciesMismatch = 10522
 
const int InitAssignStoichiometryMismatch = 10524
 
const int InitialAssignNotValidComponent = 99913
 
const int InitialValueFalseEventNotSupported = 92013
 
const int InitialValueNotBoolean = 21229
 
const int INPUT_SIGN_DUAL = INPUT_SIGN_NEGATIVE + 1
 
const int INPUT_SIGN_NEGATIVE = INPUT_SIGN_POSITIVE + 1
 
const int INPUT_SIGN_POSITIVE = 0
 
const int INPUT_SIGN_UNKNOWN = INPUT_SIGN_DUAL + 1
 
const int INPUT_SIGN_VALUE_NOTSET = INPUT_SIGN_UNKNOWN + 1
 
const int INPUT_TRANSITION_EFFECT_CONSUMPTION = INPUT_TRANSITION_EFFECT_NONE + 1
 
const int INPUT_TRANSITION_EFFECT_NONE = 0
 
const int INPUT_TRANSITION_EFFECT_UNKNOWN = INPUT_TRANSITION_EFFECT_CONSUMPTION + 1
 
const int IntegerSpatialDimensions = 92009
 
const int InternalXMLParserError = 101
 
const int Invalid1DCompartmentUnits = 20507
 
const int Invalid2DCompartmentUnits = 20508
 
const int Invalid3DCompartmentUnits = 20509
 
const int InvalidAfterXMLContent = 1029
 
const int InvalidApplyCiInLambda = 20302
 
const int InvalidAreaRedefinition = 20404
 
const int InvalidAssignRuleVariable = 20901
 
const int InvalidCharInXML = 1005
 
const int InvalidCiInLambda = 20304
 
const int InvalidCompartmentSBOTerm = 10712
 
const int InvalidCompartmentTypeRef = 20510
 
const int InvalidCompartmentTypeSBOTerm = 10714
 
const int InvalidConstraintContent = 21006
 
const int InvalidConstraintSBOTerm = 10706
 
const int InvalidDelaySBOTerm = 10717
 
const int InvalidEventAssignmentSBOTerm = 10711
 
const int InvalidEventAssignmentVariable = 21211
 
const int InvalidEventSBOTerm = 10710
 
const int InvalidFunctionDefReturnType = 20305
 
const int InvalidFunctionDefSBOTerm = 10702
 
const int InvalidIdSyntax = 10310
 
const int InvalidInitAssignSBOTerm = 10704
 
const int InvalidInitAssignSymbol = 20801
 
const int InvalidKineticLawSBOTerm = 10709
 
const int InvalidL1CompartmentUnits = 99906
 
const int InvalidLengthRedefinition = 20403
 
const int InvalidLocalParameterSBOTerm = 10718
 
const int InvalidMathElement = 10201
 
const int InvalidMathMLAttribute = 99225
 
const int InvalidMetaidSyntax = 10309
 
const int InvalidModelSBOTerm = 10701
 
const int InvalidModifiersList = 21105
 
const int InvalidNamespaceOnSBML = 20101
 
const int InvalidNameSyntax = 10312
 
const int InvalidNoArgsPassedToFunctionDef = 10219
 
const int InvalidNotesContent = 10804
 
const int InvalidPackageLevelVersion = 99102
 
const int InvalidParameterSBOTerm = 10703
 
const int InvalidParameterUnits = 20701
 
const int InvalidRateRuleVariable = 20902
 
const int InvalidReactantsProductsList = 21104
 
const int InvalidReactionSBOTerm = 10707
 
const int InvalidRuleOrdering = 99106
 
const int InvalidRuleSBOTerm = 10705
 
const int InvalidSBMLElementSBOTerm = 10719
 
const int InvalidSBMLLevelVersion = 99101
 
const int InvalidSBOTermSyntax = 10308
 
const int InvalidSpeciesCompartmentRef = 20601
 
const int InvalidSpeciesReference = 21111
 
const int InvalidSpeciesReferenceSBOTerm = 10708
 
const int InvalidSpeciesSBOTerm = 10713
 
const int InvalidSpeciesSusbstanceUnits = 20608
 
const int InvalidSpeciesTypeRef = 20612
 
const int InvalidSpeciesTypeSBOTerm = 10715
 
const int InvalidSubstanceRedefinition = 20402
 
const int InvalidTargetLevelVersion = 99997
 
const int InvalidTimeRedefinition = 20405
 
const int InvalidTriggerSBOTerm = 10716
 
const int InvalidUnitDefId = 20401
 
const int InvalidUnitIdSyntax = 10311
 
const int InvalidUnitKind = 20410
 
const int InvalidUnitsValue = 10221
 
const int InvalidVolumeRedefinition = 20406
 
const int InvalidXMLConstruct = 1008
 
const int KineticLawNotSubstancePerTime = 10541
 
const int KineticLawParametersAreLocalOnly = 10216
 
const int L1V1CompartmentVolumeReqd = 99907
 
const int L3AreaUnitsOnModel = 20219
 
const int L3ConversionFactorOnModel = 20216
 
const int L3ExtentUnitsOnModel = 20221
 
const int L3LengthUnitsOnModel = 20220
 
const int L3NotSchemaConformant = 10104
 
const int L3NotSupported = 99998
 
const bool L3P_AVOGADRO_IS_CSYMBOL = true
 
const bool L3P_AVOGADRO_IS_NAME = false
 
const bool L3P_COLLAPSE_UNARY_MINUS = true
 
const bool L3P_COMPARE_BUILTINS_CASE_INSENSITIVE = false
 
const bool L3P_COMPARE_BUILTINS_CASE_SENSITIVE = true
 
const bool L3P_EXPAND_UNARY_MINUS = false
 
const bool L3P_MODULO_IS_PIECEWISE = false
 
const bool L3P_MODULO_IS_REM = true
 
const bool L3P_NO_UNITS = false
 
const bool L3P_PARSE_L3V2_FUNCTIONS_AS_GENERIC = false
 
const bool L3P_PARSE_L3V2_FUNCTIONS_DIRECTLY = true
 
const int L3P_PARSE_LOG_AS_ERROR = 2
 
const int L3P_PARSE_LOG_AS_LN = 1
 
const int L3P_PARSE_LOG_AS_LOG10 = 0
 
const bool L3P_PARSE_PACKAGE_MATH_AS_GENERIC = false
 
const bool L3P_PARSE_PACKAGE_MATH_DIRECTLY = true
 
const bool L3P_PARSE_UNITS = true
 
const int L3PackageOnLowerSBML = 20109
 
const int L3SpatialDimensionsUnset = 99926
 
const int L3SubstanceUnitsOnModel = 99130
 
const int L3TimeUnitsOnModel = 20217
 
const int L3V2FastDeprecated = 21152
 
const int L3V2SubstanceUnitsOnModel = 20233
 
const int L3VolumeUnitsOnModel = 20218
 
const int LambdaOnlyAllowedInFunctionDef = 10208
 
const int LayoutAttributeRequiredMissing = 6020101
 
const int LayoutAttributeRequiredMustBeBoolean = 6020102
 
const int LayoutBBoxAllowedAttributes = 6021304
 
const int LayoutBBoxAllowedCoreAttributes = 6021302
 
const int LayoutBBoxAllowedCoreElements = 6021301
 
const int LayoutBBoxAllowedElements = 6021303
 
const int LayoutBBoxConsistent3DDefinition = 6021305
 
const int LayoutCBezAllowedAttributes = 6021604
 
const int LayoutCBezAllowedCoreAttributes = 6021602
 
const int LayoutCBezAllowedCoreElements = 6021601
 
const int LayoutCBezAllowedElements = 6021603
 
const int LayoutCGAllowedAttributes = 6020504
 
const int LayoutCGAllowedCoreAttributes = 6020502
 
const int LayoutCGAllowedCoreElements = 6020501
 
const int LayoutCGAllowedElements = 6020503
 
const int LayoutCGCompartmentMustRefComp = 6020508
 
const int LayoutCGCompartmentSyntax = 6020507
 
const int LayoutCGMetaIdRefMustBeIDREF = 6020505
 
const int LayoutCGMetaIdRefMustReferenceObject = 6020506
 
const int LayoutCGNoDuplicateReferences = 6020509
 
const int LayoutCGOrderMustBeDouble = 6020510
 
const int LayoutCurveAllowedAttributes = 6021404
 
const int LayoutCurveAllowedCoreAttributes = 6021402
 
const int LayoutCurveAllowedCoreElements = 6021401
 
const int LayoutCurveAllowedElements = 6021403
 
const int LayoutDimsAllowedAttributes = 6021703
 
const int LayoutDimsAllowedCoreAttributes = 6021702
 
const int LayoutDimsAllowedCoreElements = 6021701
 
const int LayoutDimsAttributesMustBeDouble = 6021704
 
const int LayoutDuplicateComponentId = 6010301
 
const int LayoutElementNotInNs = 6010102
 
const int LayoutGGAllowedAttributes = 6020804
 
const int LayoutGGAllowedCoreAttributes = 6020802
 
const int LayoutGGAllowedCoreElements = 6020801
 
const int LayoutGGAllowedElements = 6020803
 
const int LayoutGGMetaIdRefMustBeIDREF = 6020805
 
const int LayoutGGMetaIdRefMustReferenceObject = 6020806
 
const int LayoutGGNoDuplicateReferences = 6020809
 
const int LayoutGGReferenceMustRefObject = 6020808
 
const int LayoutGGReferenceSyntax = 6020807
 
const int LayoutGOAllowedAttributes = 6020404
 
const int LayoutGOAllowedCoreAttributes = 6020402
 
const int LayoutGOAllowedCoreElements = 6020401
 
const int LayoutGOAllowedElements = 6020403
 
const int LayoutGOMetaIdRefMustBeIDREF = 6020405
 
const int LayoutGOMetaIdRefMustReferenceObject = 6020406
 
const int LayoutGOMustContainBoundingBox = 6020407
 
const int LayoutLayoutAllowedAttributes = 6020305
 
const int LayoutLayoutAllowedCoreAttributes = 6020302
 
const int LayoutLayoutAllowedElements = 6020301
 
const int LayoutLayoutMustHaveDimensions = 6020315
 
const int LayoutLayoutNameMustBeString = 6020306
 
const int LayoutLOAddGOAllowedAttribut = 6020313
 
const int LayoutLOAddGOAllowedElements = 6020314
 
const int LayoutLOCompGlyphAllowedAttributes = 6020307
 
const int LayoutLOCompGlyphAllowedElements = 6020308
 
const int LayoutLOCurveSegsAllowedAttributes = 6021405
 
const int LayoutLOCurveSegsAllowedElements = 6021406
 
const int LayoutLOCurveSegsNotEmpty = 6021407
 
const int LayoutLOLayoutsAllowedAttributes = 6020204
 
const int LayoutLOLayoutsAllowedElements = 6020203
 
const int LayoutLOLayoutsNotEmpty = 6020202
 
const int LayoutLOReferenceGlyphAllowedAttribs = 6020811
 
const int LayoutLOReferenceGlyphAllowedElements = 6020810
 
const int LayoutLORnGlyphAllowedAttributes = 6020311
 
const int LayoutLORnGlyphAllowedElements = 6020312
 
const int LayoutLOSpeciesGlyphAllowedAttributes = 6020309
 
const int LayoutLOSpeciesGlyphAllowedElements = 6020310
 
const int LayoutLOSpeciesRefGlyphAllowedAttribs = 6020711
 
const int LayoutLOSpeciesRefGlyphAllowedElements = 6020710
 
const int LayoutLOSpeciesRefGlyphNotEmpty = 6020712
 
const int LayoutLOSubGlyphAllowedAttribs = 6020813
 
const int LayoutLOSubGlyphAllowedElements = 6020812
 
const int LayoutLOTextGlyphAllowedAttributes = 6020316
 
const int LayoutLOTextGlyphAllowedElements = 6020317
 
const int LayoutLSegAllowedAttributes = 6021504
 
const int LayoutLSegAllowedCoreAttributes = 6021502
 
const int LayoutLSegAllowedCoreElements = 6021501
 
const int LayoutLSegAllowedElements = 6021503
 
const int LayoutNoEmptyListOfs = 6020304
 
const int LayoutNSUndeclared = 6010101
 
const int LayoutOnlyOneEachListOf = 6020303
 
const int LayoutOnlyOneLOLayouts = 6020201
 
const int LayoutPointAllowedAttributes = 6021203
 
const int LayoutPointAllowedCoreAttributes = 6021202
 
const int LayoutPointAllowedCoreElements = 6021201
 
const int LayoutPointAttributesMustBeDouble = 6021204
 
const int LayoutREFGAllowedAttributes = 6021104
 
const int LayoutREFGAllowedCoreAttributes = 6021102
 
const int LayoutREFGAllowedCoreElements = 6021101
 
const int LayoutREFGAllowedElements = 6021103
 
const int LayoutREFGGlyphMustRefObject = 6021111
 
const int LayoutREFGGlyphSyntax = 6021110
 
const int LayoutREFGMetaIdRefMustBeIDREF = 6021105
 
const int LayoutREFGMetaIdRefMustReferenceObject = 6021106
 
const int LayoutREFGNoDuplicateReferences = 6021109
 
const int LayoutREFGReferenceMustRefObject = 6021108
 
const int LayoutREFGReferenceSyntax = 6021107
 
const int LayoutREFGRoleSyntax = 6021112
 
const int LayoutRequiredFalse = 6020103
 
const int LayoutRGAllowedAttributes = 6020704
 
const int LayoutRGAllowedCoreAttributes = 6020702
 
const int LayoutRGAllowedCoreElements = 6020701
 
const int LayoutRGAllowedElements = 6020703
 
const int LayoutRGMetaIdRefMustBeIDREF = 6020705
 
const int LayoutRGMetaIdRefMustReferenceObject = 6020706
 
const int LayoutRGNoDuplicateReferences = 6020709
 
const int LayoutRGReactionMustRefReaction = 6020708
 
const int LayoutRGReactionSyntax = 6020707
 
const int LayoutSGAllowedAttributes = 6020604
 
const int LayoutSGAllowedCoreAttributes = 6020602
 
const int LayoutSGAllowedCoreElements = 6020601
 
const int LayoutSGAllowedElements = 6020603
 
const int LayoutSGMetaIdRefMustBeIDREF = 6020605
 
const int LayoutSGMetaIdRefMustReferenceObject = 6020606
 
const int LayoutSGNoDuplicateReferences = 6020609
 
const int LayoutSGSpeciesMustRefSpecies = 6020608
 
const int LayoutSGSpeciesSyntax = 6020607
 
const int LayoutSIdSyntax = 6010302
 
const int LayoutSRGAllowedAttributes = 6021004
 
const int LayoutSRGAllowedCoreAttributes = 6021002
 
const int LayoutSRGAllowedCoreElements = 6021001
 
const int LayoutSRGAllowedElements = 6021003
 
const int LayoutSRGMetaIdRefMustBeIDREF = 6021005
 
const int LayoutSRGMetaIdRefMustReferenceObject = 6021006
 
const int LayoutSRGNoDuplicateReferences = 6021009
 
const int LayoutSRGRoleSyntax = 6021012
 
const int LayoutSRGSpeciesGlyphMustRefObject = 6021011
 
const int LayoutSRGSpeciesGlyphSyntax = 6021010
 
const int LayoutSRGSpeciesReferenceSyntax = 6021007
 
const int LayoutSRGSpeciesRefMustRefObject = 6021008
 
const int LayoutTGAllowedAttributes = 6020904
 
const int LayoutTGAllowedCoreAttributes = 6020902
 
const int LayoutTGAllowedCoreElements = 6020901
 
const int LayoutTGAllowedElements = 6020903
 
const int LayoutTGGraphicalObjectMustRefObject = 6020911
 
const int LayoutTGGraphicalObjectSyntax = 6020910
 
const int LayoutTGMetaIdRefMustBeIDREF = 6020905
 
const int LayoutTGMetaIdRefMustReferenceObject = 6020906
 
const int LayoutTGNoDuplicateReferences = 6020909
 
const int LayoutTGOriginOfTextMustRefObject = 6020908
 
const int LayoutTGOriginOfTextSyntax = 6020907
 
const int LayoutTGTextMustBeString = 6020912
 
const int LayoutUnknownError = 6010100
 
const int LayoutXsiTypeAllowedLocations = 6010401
 
const int LayoutXsiTypeSyntax = 6010402
 
const int LevelPositiveInteger = 20105
 
const int LIBSBML_ANNOTATION_NAME_NOT_FOUND = -12
 
const int LIBSBML_ANNOTATION_NS_NOT_FOUND = -13
 
const int LIBSBML_CAT_GENERAL_CONSISTENCY = LIBSBML_CAT_SBML_L2V2_COMPAT + 1
 
const int LIBSBML_CAT_IDENTIFIER_CONSISTENCY = LIBSBML_CAT_GENERAL_CONSISTENCY + 1
 
const int LIBSBML_CAT_INTERNAL = 0
 
const int LIBSBML_CAT_INTERNAL_CONSISTENCY = LIBSBML_CAT_MODELING_PRACTICE + 1
 
const int LIBSBML_CAT_MATHML_CONSISTENCY = LIBSBML_CAT_UNITS_CONSISTENCY + 1
 
const int LIBSBML_CAT_MODELING_PRACTICE = LIBSBML_CAT_SBML_L2V3_COMPAT + 1
 
const int LIBSBML_CAT_OVERDETERMINED_MODEL = LIBSBML_CAT_SBO_CONSISTENCY + 1
 
const int LIBSBML_CAT_SBML = (LIBSBML_CAT_XML+1)
 
const int LIBSBML_CAT_SBML_COMPATIBILITY = LIBSBML_CAT_SBML_L3V2_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L1_COMPAT = LIBSBML_CAT_SBML + 1
 
const int LIBSBML_CAT_SBML_L2V1_COMPAT = LIBSBML_CAT_SBML_L1_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L2V2_COMPAT = LIBSBML_CAT_SBML_L2V1_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L2V3_COMPAT = LIBSBML_CAT_OVERDETERMINED_MODEL + 1
 
const int LIBSBML_CAT_SBML_L2V4_COMPAT = LIBSBML_CAT_INTERNAL_CONSISTENCY + 1
 
const int LIBSBML_CAT_SBML_L3V1_COMPAT = LIBSBML_CAT_SBML_L2V4_COMPAT + 1
 
const int LIBSBML_CAT_SBML_L3V2_COMPAT = LIBSBML_CAT_SBML_L3V1_COMPAT + 1
 
const int LIBSBML_CAT_SBO_CONSISTENCY = LIBSBML_CAT_MATHML_CONSISTENCY + 1
 
const int LIBSBML_CAT_SYSTEM = LIBSBML_CAT_INTERNAL + 1
 
const int LIBSBML_CAT_UNITS_CONSISTENCY = LIBSBML_CAT_IDENTIFIER_CONSISTENCY + 1
 
const int LIBSBML_CAT_XML = LIBSBML_CAT_SYSTEM + 1
 
const int LIBSBML_CONV_CONVERSION_NOT_AVAILABLE = -33
 
const int LIBSBML_CONV_INVALID_SRC_DOCUMENT = -32
 
const int LIBSBML_CONV_INVALID_TARGET_NAMESPACE = -30
 
const int LIBSBML_CONV_PKG_CONSIDERED_UNKNOWN = -34
 
const int LIBSBML_CONV_PKG_CONVERSION_NOT_AVAILABLE = -31
 
const int LIBSBML_DEPRECATED_ATTRIBUTE = -15
 
const string LIBSBML_DOTTED_VERSION = "5.18.0"
 
const int LIBSBML_DUPLICATE_ANNOTATION_NS = -11
 
const int LIBSBML_DUPLICATE_OBJECT_ID = -6
 
const int LIBSBML_INDEX_EXCEEDS_SIZE = -1
 
const int LIBSBML_INVALID_ATTRIBUTE_VALUE = -4
 
const int LIBSBML_INVALID_OBJECT = -5
 
const int LIBSBML_INVALID_XML_OPERATION = -9
 
const int LIBSBML_LEVEL_MISMATCH = -7
 
const int LIBSBML_MISSING_METAID = -14
 
const int LIBSBML_NAMESPACES_MISMATCH = -10
 
const int LIBSBML_OPERATION_FAILED = -3
 
const int LIBSBML_OPERATION_SUCCESS = 0
 
const int LIBSBML_OVERRIDE_DISABLED = 0
 
const int LIBSBML_OVERRIDE_DONT_LOG = LIBSBML_OVERRIDE_DISABLED + 1
 
const int LIBSBML_OVERRIDE_ERROR = LIBSBML_OVERRIDE_WARNING + 1
 
const int LIBSBML_OVERRIDE_WARNING = LIBSBML_OVERRIDE_DONT_LOG + 1
 
const int LIBSBML_PKG_CONFLICT = -25
 
const int LIBSBML_PKG_CONFLICTED_VERSION = -24
 
const int LIBSBML_PKG_DISABLED = -23
 
const int LIBSBML_PKG_UNKNOWN = -21
 
const int LIBSBML_PKG_UNKNOWN_VERSION = -22
 
const int LIBSBML_PKG_VERSION_MISMATCH = -20
 
const int LIBSBML_SEV_ERROR = LIBSBML_SEV_WARNING + 1
 
const int LIBSBML_SEV_FATAL = LIBSBML_SEV_ERROR + 1
 
const int LIBSBML_SEV_GENERAL_WARNING = LIBSBML_SEV_SCHEMA_ERROR + 1
 
const int LIBSBML_SEV_INFO = 0
 
const int LIBSBML_SEV_NOT_APPLICABLE = LIBSBML_SEV_GENERAL_WARNING + 1
 
const int LIBSBML_SEV_SCHEMA_ERROR = (LIBSBML_SEV_FATAL+1)
 
const int LIBSBML_SEV_WARNING = LIBSBML_SEV_INFO + 1
 
const int LIBSBML_UNEXPECTED_ATTRIBUTE = -2
 
const int LIBSBML_USE_ID_ATTRIBUTE_FUNCTION = -16
 
const int LIBSBML_VERSION = 51800
 
const int LIBSBML_VERSION_MISMATCH = -8
 
const string LIBSBML_VERSION_STRING = "51800"
 
const int LibSBMLAdditionalCodesLowerBound = 90000
 
const int LocalParameterShadowsId = 81121
 
const int LocalParameterShadowsSpecies = 21173
 
const int MathCheckOFF = 0xf7
 
const int MathCheckON = 0x08
 
const int MathMLElementNotSupported = 98002
 
const int MathResultMustBeNumeric = 10217
 
const int MetaIdNotValidAttribute = 99904
 
const int MissingAnnotationNamespace = 10401
 
const int MissingEventAssignment = 21203
 
const int MissingMathElementNotSupported = 98004
 
const int MissingModel = 20201
 
const int MissingOrInconsistentLevel = 20102
 
const int MissingOrInconsistentVersion = 20103
 
const int MissingParticipantsNotSupported = 98008
 
const int MissingSpeciesCompartment = 20614
 
const int MissingTriggerElementNotSupported = 98005
 
const int MissingTriggerInEvent = 21201
 
const int MissingXMLAttributeValue = 1018
 
const int MissingXMLDecl = 1001
 
const int MissingXMLElements = 1034
 
const int MissingXMLEncoding = 1002
 
const int MissingXMLRequiredAttribute = 1015
 
const int MODEL_QUALIFIER = 0
 
const int ModelSBOBranchChangedBeyondL2v2 = 93006
 
const int ModelSBOBranchChangedBeyondL2v3 = 94007
 
const int ModelSBOBranchChangedInL2v4 = 95006
 
const int ModelSBOBranchChangedInL3v1 = 96008
 
const int MULTI_BINDING_STATUS_BOUND = 0
 
const int MULTI_BINDING_STATUS_EITHER = MULTI_BINDING_STATUS_UNBOUND + 1
 
const int MULTI_BINDING_STATUS_UNBOUND = MULTI_BINDING_STATUS_BOUND + 1
 
const int MULTI_BINDING_STATUS_UNKNOWN = MULTI_BINDING_STATUS_EITHER + 1
 
const int MULTI_RELATION_AND = 0
 
const int MULTI_RELATION_NOT = MULTI_RELATION_OR + 1
 
const int MULTI_RELATION_OR = MULTI_RELATION_AND + 1
 
const int MULTI_RELATION_UNKNOWN = MULTI_RELATION_NOT + 1
 
const int MultipleAnnotations = 10404
 
const int MultipleAssignmentOrRateRules = 10304
 
const int MultipleEventAssignmentsForId = 10305
 
const int MultipleInitAssignments = 20802
 
const int MultiplierNotValidAttribute = 99924
 
const int MultSpeciesSameTypeInCompartment = 20613
 
const int NameNotValidAttribute = 99921
 
const int NeedCompartmentIfHaveSpecies = 20204
 
const int NestedAnnotationNotAllowed = 99407
 
const int NoBodyInFunctionDef = 99302
 
const int NoCompartmentOutsideInL3v1 = 96010
 
const int NoCompartmentTypeInL1 = 91006
 
const int NoCompartmentTypeInL2v1 = 92004
 
const int NoCompartmentTypeInL3v1 = 96002
 
const int NoConcentrationInZeroD = 20604
 
const int NoConstraintsInL1 = 91003
 
const int NoConstraintsInL2v1 = 92001
 
const int NoDelayedEventAssignmentInL2v1 = 92007
 
const int NoDelayedEventAssignmentInL2v2 = 93005
 
const int NoDelayedEventAssignmentInL2v3 = 94006
 
const int NoEventsInL1 = 91001
 
const int NoEventTimeUnitsInL2v3 = 94005
 
const int NoEventTimeUnitsInL2v4 = 95005
 
const int NoEventTimeUnitsInL3v1 = 96007
 
const int NoFancyStoichiometryMathInL1 = 91008
 
const int NoFunctionDefinitionsInL1 = 91002
 
const int NoIdOnSpeciesReferenceInL2v1 = 92006
 
const int NoInitialAssignmentsInL1 = 91004
 
const int NoInitialAssignmentsInL2v1 = 92002
 
const int NoKineticLawSubstanceUnitsInL2v2 = 93004
 
const int NoKineticLawSubstanceUnitsInL2v3 = 94003
 
const int NoKineticLawSubstanceUnitsInL2v4 = 95003
 
const int NoKineticLawSubstanceUnitsInL3v1 = 96005
 
const int NoKineticLawTimeUnitsInL2v2 = 93003
 
const int NoKineticLawTimeUnitsInL2v3 = 94002
 
const int NoKineticLawTimeUnitsInL2v4 = 95002
 
const int NoKineticLawTimeUnitsInL3v1 = 96004
 
const int NonBoundarySpeciesAssignedAndUsed = 20610
 
const int NonConstantLocalParameter = 21124
 
const int NonConstantSpeciesUsed = 20611
 
const int NoNon3DCompartmentsInL1 = 91007
 
const int NoNonIntegerStoichiometryInL1 = 91009
 
const int NonPersistentNotSupported = 92012
 
const int NoReactantsOrProducts = 21101
 
const int NoSBOTermsInL1 = 91013
 
const int NoSBOTermsInL2v1 = 92005
 
const int NoSpatialUnitsInZeroD = 20603
 
const int NoSpeciesSpatialSizeUnitsInL1 = 91012
 
const int NoSpeciesSpatialSizeUnitsInL2v3 = 94004
 
const int NoSpeciesSpatialSizeUnitsInL2v4 = 95004
 
const int NoSpeciesSpatialSizeUnitsInL3v1 = 96006
 
const int NoSpeciesTypeInL2v1 = 92003
 
const int NoSpeciesTypeInL3v1 = 96001
 
const int NoSpeciesTypesInL1 = 91005
 
const int NoStoichiometryMathInL3v1 = 96011
 
const int NotesContainsDOCTYPE = 10803
 
const int NotesContainsXMLDecl = 10802
 
const int NotesNotInXHTMLNamespace = 10801
 
const int NoTimeSymbolInFunctionDef = 99301
 
const int NotSchemaConformant = 10103
 
const int NotUTF8 = 10101
 
const int NoUnitMultipliersOrOffsetsInL1 = 91010
 
const int NoUnitOffsetInL2v2 = 93002
 
const int NoUnitOffsetInL2v3 = 94001
 
const int NoUnitOffsetInL2v4 = 95001
 
const int NoUnitOffsetInL3v1 = 96003
 
const int NoUnitsOnCompartment = 20518
 
const int NumericOpsNeedNumericArgs = 10210
 
const int OBJECTIVE_TYPE_MAXIMIZE = 0
 
const int OBJECTIVE_TYPE_MINIMIZE = OBJECTIVE_TYPE_MAXIMIZE + 1
 
const int OBJECTIVE_TYPE_UNKNOWN = OBJECTIVE_TYPE_MINIMIZE + 1
 
const int ObseleteSBOTerm = 99702
 
const int OffsetNoLongerValid = 20411
 
const int OffsetNotValidAttribute = 99925
 
const int OneDimensionalCompartmentUnits = 20511
 
const int OneListOfEventAssignmentsPerEvent = 21222
 
const int OneListOfPerKineticLaw = 21127
 
const int OneListOfUnitsPerUnitDef = 20414
 
const int OneMathElementPerConstraint = 21007
 
const int OneMathElementPerFunc = 20306
 
const int OneMathElementPerInitialAssign = 20804
 
const int OneMathElementPerRule = 20907
 
const int OneMathPerDelay = 21210
 
const int OneMathPerEventAssignment = 21213
 
const int OneMathPerKineticLaw = 21130
 
const int OneMathPerPriority = 21231
 
const int OneMathPerTrigger = 21209
 
const int OneMessageElementPerConstraint = 21008
 
const int OneOfEachListOf = 20205
 
const int OneSubElementPerReaction = 21106
 
const int OnlyCiInsideBVar = 99304
 
const int OnlyCompartmentsInListOfCompartments = 20208
 
const int OnlyConstraintsInListOfConstraints = 20213
 
const int OnlyEventAssignInListOfEventAssign = 21223
 
const int OnlyEventsInListOfEvents = 20215
 
const int OnlyFuncDefsInListOfFuncDefs = 20206
 
const int OnlyInitAssignsInListOfInitAssigns = 20211
 
const int OnlyLocalParamsInListOfLocalParams = 21128
 
const int OnlyOneDelayPerEvent = 21221
 
const int OnlyOneNotesElementAllowed = 10805
 
const int OnlyOnePriorityPerEvent = 21230
 
const int OnlyParametersInListOfParameters = 20210
 
const int OnlyReactionsInListOfReactions = 20214
 
const int OnlyRulesInListOfRules = 20212
 
const int OnlySpeciesInListOfSpecies = 20209
 
const int OnlyUnitDefsInListOfUnitDefs = 20207
 
const int OnlyUnitsInListOfUnits = 20415
 
const int OperationInterrupted = 99950
 
const int OpsNeedCorrectNumberOfArgs = 10218
 
const int OR_ASSOCIATION = 2
 
const int OUTPUT_TRANSITION_EFFECT_ASSIGNMENT_LEVEL = OUTPUT_TRANSITION_EFFECT_PRODUCTION + 1
 
const int OUTPUT_TRANSITION_EFFECT_PRODUCTION = 0
 
const int OUTPUT_TRANSITION_EFFECT_UNKNOWN = OUTPUT_TRANSITION_EFFECT_ASSIGNMENT_LEVEL + 1
 
const int OverdeterCheckOFF = 0xdf
 
const int OverdeterCheckON = 0x20
 
const int OverdeterminedSystem = 10601
 
const int PackageConversionNotSupported = 99996
 
const int PackageNSMustMatch = 20104
 
const int PackageRequiredShouldBeFalse = 99109
 
const int ParameterShouldHaveUnits = 80701
 
const int ParameterShouldHaveValue = 80702
 
const int ParameterUnits = 20702
 
const int PersistentNotBoolean = 21228
 
const int PieceNeedsBoolean = 10213
 
const int PiecewiseNeedsConsistentTypes = 10212
 
const int PracticeCheckOFF = 0xbf
 
const int PracticeCheckON = 0x40
 
const int PriorityLostFromL3 = 92011
 
const int PriorityUnitsNotDimensionless = 10565
 
const int QualAttributeRequiredMissing = 3020101
 
const int QualAttributeRequiredMustBeBoolean = 3020102
 
const int QualCompartmentMustReferExisting = 3020308
 
const int QualConstantMustBeBool = 3020304
 
const int QualConstantQSCannotBeOutput = 3020310
 
const int QualDefaultTermAllowedAttributes = 3020703
 
const int QualDefaultTermAllowedCoreAttributes = 3020701
 
const int QualDefaultTermAllowedElements = 3020702
 
const int QualDefaultTermResultMustBeInteger = 3020704
 
const int QualDefaultTermResultMustBeNonNeg = 3020705
 
const int QualDuplicateComponentId = 3010301
 
const int QualElementNotInNs = 3010102
 
const int QualEmptyLONotAllowed = 3020202
 
const int QualFuncTermAllowedAttributes = 3020803
 
const int QualFuncTermAllowedCoreAttributes = 3020801
 
const int QualFuncTermAllowedElements = 3020802
 
const int QualFuncTermOnlyOneMath = 3020804
 
const int QualFuncTermResultMustBeInteger = 3020805
 
const int QualFuncTermResultMustBeNonNeg = 3020806
 
const int QualFunctionTermBool = 3010201
 
const int QualInitalLevelNotNegative = 3020312
 
const int QualInitialLevelCannotExceedMax = 3020309
 
const int QualInitialLevelMustBeInt = 3020306
 
const int QualInputAllowedAttributes = 3020503
 
const int QualInputAllowedCoreAttributes = 3020501
 
const int QualInputAllowedElements = 3020502
 
const int QualInputConstantCannotBeConsumed = 3020509
 
const int QualInputNameMustBeString = 3020504
 
const int QualInputQSMustBeExistingQS = 3020508
 
const int QualInputSignMustBeSignEnum = 3020505
 
const int QualInputThreshMustBeInteger = 3020507
 
const int QualInputThreshMustBeNonNegative = 3020510
 
const int QualInputTransEffectMustBeInputEffect = 3020506
 
const int QualLOQualSpeciesAllowedAttributes = 3020205
 
const int QualLOQualSpeciesAllowedElements = 3020204
 
const int QualLOTransitiondAllowedElements = 3020203
 
const int QualLOTransitionsAllowedAttributes = 3020206
 
const int QualMathCSymbolDisallowed = 3010202
 
const int QualMaxLevelMustBeInt = 3020307
 
const int QualMaxLevelNotNegative = 3020313
 
const int QualNameMustBeString = 3020305
 
const int QualNSUndeclared = 3010101
 
const int QualOneListOfTransOrQS = 3020201
 
const int QualOutputAllowedAttributes = 3020603
 
const int QualOutputAllowedCoreAttributes = 3020601
 
const int QualOutputAllowedElements = 3020602
 
const int QualOutputConstantMustBeFalse = 3020608
 
const int QualOutputLevelMustBeInteger = 3020606
 
const int QualOutputLevelMustBeNonNegative = 3020610
 
const int QualOutputNameMustBeString = 3020604
 
const int QualOutputProductionMustHaveLevel = 3020609
 
const int QualOutputQSMustBeExistingQS = 3020607
 
const int QualOutputTransEffectMustBeOutput = 3020605
 
const int QualQSAssignedOnlyOnce = 3020311
 
const int QualQualSpeciesAllowedAttributes = 3020303
 
const int QualQualSpeciesAllowedCoreAttributes = 3020301
 
const int QualQualSpeciesAllowedElements = 3020302
 
const int QualRequiredTrueIfTransitions = 3020103
 
const int QualTransitionAllowedAttributes = 3020403
 
const int QualTransitionAllowedCoreAttributes = 3020401
 
const int QualTransitionAllowedElements = 3020402
 
const int QualTransitionEmptyLOElements = 3020406
 
const int QualTransitionLOElements = 3020405
 
const int QualTransitionLOFuncTermAttributes = 3020412
 
const int QualTransitionLOFuncTermElements = 3020409
 
const int QualTransitionLOFuncTermExceedMax = 3020413
 
const int QualTransitionLOFuncTermNegative = 3020414
 
const int QualTransitionLOInputAttributes = 3020410
 
const int QualTransitionLOInputElements = 3020407
 
const int QualTransitionLOOutputAttributes = 3020411
 
const int QualTransitionLOOutputElements = 3020408
 
const int QualTransitionNameMustBeString = 3020404
 
const int QualUnknown = 3010100
 
const int RateOfSpeciesTargetCompartmentNot = 10225
 
const int RateOfTargetCannotBeAssigned = 10224
 
const int RateOfTargetMustBeCi = 10223
 
const int RateRuleCompartmentMismatch = 10531
 
const int RateRuleForConstantEntity = 20904
 
const int RateRuleParameterMismatch = 10533
 
const int RateRuleSpeciesMismatch = 10532
 
const int RateRuleStoichiometryMismatch = 10534
 
const int RDFAboutTagNotMetaid = 99403
 
const int RDFEmptyAboutTag = 99402
 
const int RDFMissingAboutTag = 99401
 
const int RDFNotCompleteModelHistory = 99404
 
const int RDFNotModelHistory = 99405
 
const int RecursiveCompartmentContainment = 20505
 
const int RecursiveFunctionDefinition = 20303
 
const int RepeatedRule10304 = 20905
 
const int RepeatedRule20611 = 21112
 
const int RequiredPackagePresent = 99107
 
const int RULE_TYPE_INVALID = RULE_TYPE_SCALAR + 1
 
const int RULE_TYPE_RATE = 0
 
const int RULE_TYPE_SCALAR = RULE_TYPE_RATE + 1
 
const int RuleCannotRef0DComp = 20911
 
const int SBML_ALGEBRAIC_RULE = 21
 
const int SBML_ASSIGNMENT_RULE = 22
 
const int SBML_COMP_DELETION = 254
 
const int SBML_COMP_EXTERNALMODELDEFINITION = 252
 
const int SBML_COMP_MODELDEFINITION = 251
 
const int SBML_COMP_PORT = 257
 
const int SBML_COMP_REPLACEDBY = 256
 
const int SBML_COMP_REPLACEDELEMENT = 255
 
const int SBML_COMP_SBASEREF = 253
 
const int SBML_COMP_SUBMODEL = 250
 
const int SBML_COMPARTMENT = 1
 
const int SBML_COMPARTMENT_TYPE = 2
 
const int SBML_COMPARTMENT_VOLUME_RULE = 25
 
const int SBML_CONSTRAINT = 3
 
const int SBML_DELAY = 28
 
const int SBML_DOCUMENT = 4
 
const int SBML_EVENT = 5
 
const int SBML_EVENT_ASSIGNMENT = 6
 
const int SBML_FBC_AND = 809
 
const int SBML_FBC_ASSOCIATION = 805
 
const int SBML_FBC_FLUXBOUND = 801
 
const int SBML_FBC_FLUXOBJECTIVE = 802
 
const int SBML_FBC_GENEASSOCIATION = 803
 
const int SBML_FBC_GENEPRODUCT = 807
 
const int SBML_FBC_GENEPRODUCTASSOCIATION = 806
 
const int SBML_FBC_GENEPRODUCTREF = 808
 
const int SBML_FBC_OBJECTIVE = 804
 
const int SBML_FBC_OR = 810
 
const int SBML_FBC_V1ASSOCIATION = 800
 
const int SBML_FUNCTION_DEFINITION = 7
 
const int SBML_GENERIC_SBASE = 32
 
const int SBML_GROUPS_GROUP = 501
 
const int SBML_GROUPS_MEMBER = 500
 
const int SBML_INITIAL_ASSIGNMENT = 8
 
const int SBML_KINETIC_LAW = 9
 
const int SBML_LAYOUT_BOUNDINGBOX = 100
 
const int SBML_LAYOUT_COMPARTMENTGLYPH = 101
 
const int SBML_LAYOUT_CUBICBEZIER = 102
 
const int SBML_LAYOUT_CURVE = 103
 
const int SBML_LAYOUT_DIMENSIONS = 104
 
const int SBML_LAYOUT_GENERALGLYPH = 114
 
const int SBML_LAYOUT_GRAPHICALOBJECT = 105
 
const int SBML_LAYOUT_LAYOUT = 106
 
const int SBML_LAYOUT_LINESEGMENT = 107
 
const int SBML_LAYOUT_POINT = 108
 
const int SBML_LAYOUT_REACTIONGLYPH = 109
 
const int SBML_LAYOUT_REFERENCEGLYPH = 113
 
const int SBML_LAYOUT_SPECIESGLYPH = 110
 
const int SBML_LAYOUT_SPECIESREFERENCEGLYPH = 111
 
const int SBML_LAYOUT_TEXTGLYPH = 112
 
const int SBML_LIST_OF = 10
 
const int SBML_LOCAL_PARAMETER = 30
 
const int SBML_MODEL = 11
 
const int SBML_MODIFIER_SPECIES_REFERENCE = 18
 
const int SBML_MULTI_BINDING_SITE_SPECIES_TYPE = 1411
 
const int SBML_MULTI_COMPARTMENT_REFERENCE = 1402
 
const int SBML_MULTI_IN_SPECIES_TYPE_BOND = 1404
 
const int SBML_MULTI_INTRA_SPECIES_REACTION = 1412
 
const int SBML_MULTI_OUTWARD_BINDING_SITE = 1405
 
const int SBML_MULTI_POSSIBLE_SPECIES_FEATURE_VALUE = 1400
 
const int SBML_MULTI_SPECIES_FEATURE = 1408
 
const int SBML_MULTI_SPECIES_FEATURE_TYPE = 1406
 
const int SBML_MULTI_SPECIES_FEATURE_VALUE = 1401
 
const int SBML_MULTI_SPECIES_TYPE = 1410
 
const int SBML_MULTI_SPECIES_TYPE_COMPONENT_INDEX = 1407
 
const int SBML_MULTI_SPECIES_TYPE_COMPONENT_MAP_IN_PRODUCT = 1409
 
const int SBML_MULTI_SPECIES_TYPE_INSTANCE = 1403
 
const int SBML_MULTI_SUBLIST_OF_SPECIES_FEATURES = 1413
 
const int SBML_PARAMETER = 12
 
const int SBML_PARAMETER_RULE = 26
 
const int SBML_PRIORITY = 31
 
const int SBML_QUAL_DEFAULT_TERM = 1105
 
const int SBML_QUAL_FUNCTION_TERM = 1104
 
const int SBML_QUAL_INPUT = 1102
 
const int SBML_QUAL_OUTPUT = 1103
 
const int SBML_QUAL_QUALITATIVE_SPECIES = 1100
 
const int SBML_QUAL_TRANSITION = 1101
 
const int SBML_RATE_RULE = 23
 
const int SBML_REACTION = 13
 
const int SBML_RENDER_COLORDEFINITION = 1000
 
const int SBML_RENDER_CUBICBEZIER = 1019
 
const int SBML_RENDER_CURVE = 1020
 
const int SBML_RENDER_DEFAULTS = 1024
 
const int SBML_RENDER_ELLIPSE = 1001
 
const int SBML_RENDER_GLOBALRENDERINFORMATION = 1002
 
const int SBML_RENDER_GLOBALSTYLE = 1003
 
const int SBML_RENDER_GRADIENT_STOP = 1005
 
const int SBML_RENDER_GRADIENTDEFINITION = 1004
 
const int SBML_RENDER_GRAPHICALPRIMITIVE1D = 1026
 
const int SBML_RENDER_GRAPHICALPRIMITIVE2D = 1027
 
const int SBML_RENDER_GROUP = 1006
 
const int SBML_RENDER_IMAGE = 1007
 
const int SBML_RENDER_LINEARGRADIENT = 1009
 
const int SBML_RENDER_LINEENDING = 1008
 
const int SBML_RENDER_LINESEGMENT = 1010
 
const int SBML_RENDER_LISTOFGLOBALSTYLES = 1011
 
const int SBML_RENDER_LISTOFLOCALSTYLES = 1012
 
const int SBML_RENDER_LOCALRENDERINFORMATION = 1013
 
const int SBML_RENDER_LOCALSTYLE = 1014
 
const int SBML_RENDER_POINT = 1021
 
const int SBML_RENDER_POLYGON = 1015
 
const int SBML_RENDER_RADIALGRADIENT = 1016
 
const int SBML_RENDER_RECTANGLE = 1017
 
const int SBML_RENDER_RELABSVECTOR = 1018
 
const int SBML_RENDER_RENDERINFORMATION_BASE = 1029
 
const int SBML_RENDER_STYLE_BASE = 1028
 
const int SBML_RENDER_TEXT = 1022
 
const int SBML_RENDER_TRANSFORMATION = 1025
 
const int SBML_RENDER_TRANSFORMATION2D = 1023
 
const int SBML_RULE = 14
 
const int SBML_SPECIES = 15
 
const int SBML_SPECIES_CONCENTRATION_RULE = 24
 
const int SBML_SPECIES_REFERENCE = 16
 
const int SBML_SPECIES_TYPE = 17
 
const int SBML_STOICHIOMETRY_MATH = 29
 
const int SBML_TRIGGER = 27
 
const int SBML_UNIT = 20
 
const int SBML_UNIT_DEFINITION = 19
 
const int SBML_UNKNOWN = 0
 
const int SBMLCheckOFF = 0xfd
 
const int SBMLCheckON = 0x02
 
const int SBMLCodesUpperBound = 99999
 
const int SBMLNamespaceInAnnotation = 10403
 
const int SBOCheckOFF = 0xfb
 
const int SBOCheckON = 0x04
 
const int SBOTermNotUniversalInL2v2 = 93001
 
const int SBOTermNotValidAttributeBeforeL2V2 = 99911
 
const int SBOTermNotValidAttributeBeforeL2V3 = 99905
 
const int SpatialSizeUnitsNotValidAttribute = 99917
 
const int SpatialSizeUnitsRemoved = 20615
 
const int SpatialUnitsInOneD = 20605
 
const int SpatialUnitsInThreeD = 20607
 
const int SpatialUnitsInTwoD = 20606
 
const int SPECIES_ROLE_ACTIVATOR = SPECIES_ROLE_MODIFIER + 1
 
const int SPECIES_ROLE_INHIBITOR = SPECIES_ROLE_ACTIVATOR + 1
 
const int SPECIES_ROLE_INVALID = SPECIES_ROLE_INHIBITOR + 1
 
const int SPECIES_ROLE_MODIFIER = SPECIES_ROLE_SIDEPRODUCT + 1
 
const int SPECIES_ROLE_PRODUCT = SPECIES_ROLE_SUBSTRATE + 1
 
const int SPECIES_ROLE_SIDEPRODUCT = SPECIES_ROLE_SIDESUBSTRATE + 1
 
const int SPECIES_ROLE_SIDESUBSTRATE = SPECIES_ROLE_PRODUCT + 1
 
const int SPECIES_ROLE_SUBSTRATE = SPECIES_ROLE_UNDEFINED + 1
 
const int SPECIES_ROLE_UNDEFINED = 0
 
const int SpeciesCompartmentRequiredInL1 = 91011
 
const int SpeciesInvalidExtentUnits = 10542
 
const int SpeciesRefIdInMathMLNotSupported = 98011
 
const int SpeciesShouldHaveValue = 80601
 
const int SpeciesTypeNotValidAttribute = 99918
 
const int SpeciesTypeNotValidComponent = 99922
 
const int StoichiometryMathMissingMath = 99131
 
const int StoichiometryMathNotValidComponent = 99923
 
const int StoichiometryMathNotYetSupported = 92010
 
const int StrictSBORequiredInL2v2 = 93008
 
const int StrictSBORequiredInL2v3 = 94009
 
const int StrictUnitsRequiredInL1 = 91014
 
const int StrictUnitsRequiredInL2v1 = 92008
 
const int StrictUnitsRequiredInL2v2 = 93007
 
const int StrictUnitsRequiredInL2v3 = 94008
 
const int SubstanceUnitsOnSpecies = 20616
 
const int SubsUnitsAllowedInKL = 99127
 
const int SubsUnitsNoLongerValid = 21125
 
const int ThreeDimensionalCompartmentUnits = 20513
 
const int TimeUnitsAllowedInKL = 99128
 
const int TimeUnitsEvent = 21204
 
const int TimeUnitsNoLongerValid = 21126
 
const int TimeUnitsRemoved = 99206
 
const int TriggerMathNotBoolean = 21202
 
const int TwoDimensionalCompartmentUnits = 20512
 
const int UnclosedXMLToken = 1007
 
const int UndeclaredExtentUnitsL3 = 99507
 
const int UndeclaredObjectUnitsL3 = 99508
 
const int UndeclaredSpeciesInStoichMath = 21131
 
const int UndeclaredSpeciesRef = 21121
 
const int UndeclaredTimeUnitsL3 = 99506
 
const int UndeclaredUnits = 99505
 
const int UndefinedOutsideCompartment = 20504
 
const int UndefinedXMLEntity = 1011
 
const int UninterpretableXMLContent = 1027
 
const int UNIT_KIND_AMPERE = 0
 
const int UNIT_KIND_AVOGADRO = UNIT_KIND_AMPERE + 1
 
const int UNIT_KIND_BECQUEREL = UNIT_KIND_AVOGADRO + 1
 
const int UNIT_KIND_CANDELA = UNIT_KIND_BECQUEREL + 1
 
const int UNIT_KIND_CELSIUS = UNIT_KIND_CANDELA + 1
 
const int UNIT_KIND_COULOMB = UNIT_KIND_CELSIUS + 1
 
const int UNIT_KIND_DIMENSIONLESS = UNIT_KIND_COULOMB + 1
 
const int UNIT_KIND_FARAD = UNIT_KIND_DIMENSIONLESS + 1
 
const int UNIT_KIND_GRAM = UNIT_KIND_FARAD + 1
 
const int UNIT_KIND_GRAY = UNIT_KIND_GRAM + 1
 
const int UNIT_KIND_HENRY = UNIT_KIND_GRAY + 1
 
const int UNIT_KIND_HERTZ = UNIT_KIND_HENRY + 1
 
const int UNIT_KIND_INVALID = UNIT_KIND_WEBER + 1
 
const int UNIT_KIND_ITEM = UNIT_KIND_HERTZ + 1
 
const int UNIT_KIND_JOULE = UNIT_KIND_ITEM + 1
 
const int UNIT_KIND_KATAL = UNIT_KIND_JOULE + 1
 
const int UNIT_KIND_KELVIN = UNIT_KIND_KATAL + 1
 
const int UNIT_KIND_KILOGRAM = UNIT_KIND_KELVIN + 1
 
const int UNIT_KIND_LITER = UNIT_KIND_KILOGRAM + 1
 
const int UNIT_KIND_LITRE = UNIT_KIND_LITER + 1
 
const int UNIT_KIND_LUMEN = UNIT_KIND_LITRE + 1
 
const int UNIT_KIND_LUX = UNIT_KIND_LUMEN + 1
 
const int UNIT_KIND_METER = UNIT_KIND_LUX + 1
 
const int UNIT_KIND_METRE = UNIT_KIND_METER + 1
 
const int UNIT_KIND_MOLE = UNIT_KIND_METRE + 1
 
const int UNIT_KIND_NEWTON = UNIT_KIND_MOLE + 1
 
const int UNIT_KIND_OHM = UNIT_KIND_NEWTON + 1
 
const int UNIT_KIND_PASCAL = UNIT_KIND_OHM + 1
 
const int UNIT_KIND_RADIAN = UNIT_KIND_PASCAL + 1
 
const int UNIT_KIND_SECOND = UNIT_KIND_RADIAN + 1
 
const int UNIT_KIND_SIEMENS = UNIT_KIND_SECOND + 1
 
const int UNIT_KIND_SIEVERT = UNIT_KIND_SIEMENS + 1
 
const int UNIT_KIND_STERADIAN = UNIT_KIND_SIEVERT + 1
 
const int UNIT_KIND_TESLA = UNIT_KIND_STERADIAN + 1
 
const int UNIT_KIND_VOLT = UNIT_KIND_TESLA + 1
 
const int UNIT_KIND_WATT = UNIT_KIND_VOLT + 1
 
const int UNIT_KIND_WEBER = UNIT_KIND_WATT + 1
 
const int UnitsCheckOFF = 0xef
 
const int UnitsCheckON = 0x10
 
const int UnitsNotValidAttribute = 99915
 
const int UNKNOWN_ASSOCIATION = 3
 
const int UNKNOWN_QUALIFIER = BIOLOGICAL_QUALIFIER + 1
 
const int UnknownCoreAttribute = 99994
 
const int UnknownError = 10000
 
const int UnknownPackageAttribute = 99995
 
const int UnrecognisedSBOTerm = 99701
 
const int UnrecognizedElement = 10102
 
const int UnrecognizedXMLElement = 1021
 
const int UnrecognizedXMLParserCode = 102
 
const int UnrequiredPackagePresent = 99108
 
const int UpperUnitBound = 10599
 
const int V_TEXTANCHOR_BASELINE = V_TEXTANCHOR_BOTTOM + 1
 
const int V_TEXTANCHOR_BOTTOM = V_TEXTANCHOR_MIDDLE + 1
 
const int V_TEXTANCHOR_INVALID = V_TEXTANCHOR_BASELINE + 1
 
const int V_TEXTANCHOR_MIDDLE = V_TEXTANCHOR_TOP + 1
 
const int V_TEXTANCHOR_TOP = V_TEXTANCHOR_UNSET + 1
 
const int V_TEXTANCHOR_UNSET = 0
 
const int ValuesFromTriggerTimeNeedDelay = 21206
 
const int VariableNotValidAttribute = 99914
 
const int VersionPositiveInteger = 20106
 
const int VolumeLitreDefExponentNotOne = 20407
 
const int VolumeMetreDefExponentNot3 = 20408
 
const int XMLAttributeTypeMismatch = 1016
 
const int XMLBadColon = 1033
 
const int XMLBadNumber = 1032
 
const int XMLBadUTF8Content = 1017
 
const int XMLContentEmpty = 1035
 
const int XMLEmptyValueNotPermitted = 1031
 
const int XMLErrorCodesUpperBound = 9999
 
const int XMLExpectedQuotedString = 1030
 
const int XMLFileOperationError = 4
 
const int XMLFileUnreadable = 2
 
const int XMLFileUnwritable = 3
 
const int XMLNetworkAccessError = 5
 
const int XMLOutOfMemory = 1
 
const int XMLTagMismatch = 1009
 
const int XMLTranscoderError = 103
 
const int XMLUnexpectedEOF = 1024
 
const int XMLUnknownError = 0
 
const int ZeroDCompartmentContainment = 20506
 
const int ZeroDimensionalCompartmentConst = 20503
 
const int ZeroDimensionalCompartmentSize = 20501
 
const int ZeroDimensionalCompartmentUnits = 20502
 

Static Public Attributes

static readonly OStream cerr = new OStream(OStream.CERR)
 
static readonly OStream clog = new OStream(OStream.CLOG)
 
static readonly OStream cout = new OStream(OStream.COUT)
 

Member Function Documentation

static int libsbmlcs.libsbml.BindingStatus_fromString ( string  s)
static
static string libsbmlcs.libsbml.BindingStatus_toString ( int  bindingStatus)
static
static int libsbmlcs.libsbml.BiolQualifierType_fromString ( string  s)
static

This method takes a string and returns a biol qualifier representing the string.

This method takes a string as argument and returns a biol qualifier type corresponding to that string. For example, passing it the string 'hasVersion' will return the qualifier BQB_HAS_VERSION.

Parameters
sthe string to translate to a libSBML constant value representing a biological qualifier.
Returns
a libSBML qualifier enumeration value for the given human readable qualifier name.
static string libsbmlcs.libsbml.BiolQualifierType_toString ( int  type)
static

This method takes a biol qualifier type code and returns a string representing the code.

This method takes a biol qualifier type as argument and returns a string name corresponding to that code. For example, passing it the qualifier BQB_HAS_VERSION will return the string 'hasVersion'.

Parameters
typethe value to translate. The value should be a constant whose name begins with BQB_, such as (for example) BQB_IS.
Returns
a human readable qualifier name for the given type.
Note
The caller does not own the returned string and is therefore not allowed to modify it.
static XMLNode libsbmlcs.libsbml.deleteLayoutAnnotation ( XMLNode  pAnnotation)
static

Takes an XMLNode and tries to find the layout annotation node and deletes it if it was found.

static XMLNode libsbmlcs.libsbml.deleteLayoutIdAnnotation ( XMLNode  pAnnotation)
static

Takes an XMLNode and tries to find the layoutId annotation node and deletes it if it was found.

static ASTBasePlugin libsbmlcs.libsbml.DowncastASTBasePlugin ( IntPtr  cPtr,
bool  owner 
)
static
static SBMLExtension libsbmlcs.libsbml.DowncastExtension ( IntPtr  cPtr,
bool  owner 
)
static
static SBase libsbmlcs.libsbml.DowncastSBase ( IntPtr  cPtr,
bool  owner 
)
static
static SBasePlugin libsbmlcs.libsbml.DowncastSBasePlugin ( IntPtr  cPtr,
bool  owner 
)
static
static SBMLConverter libsbmlcs.libsbml.DowncastSBMLConverter ( IntPtr  cPtr,
bool  owner 
)
static
static SBMLNamespaces libsbmlcs.libsbml.DowncastSBMLNamespaces ( IntPtr  cPtr,
bool  owner 
)
static
static string libsbmlcs.libsbml.formulaToL3String ( ASTNode  tree)
static

Converts an AST to a string representation of a formula using a syntax derived from SBML Level 1, but extended to include elements from SBML Level 2 and SBML Level 3.

The text-string form of mathematical formulas read by the function SBML_parseL3Formula() and written by the function SBML_formulaToL3String() uses an expanded version of the syntax read and written by SBML_parseFormula() and SBML_formulaToString(), respectively. The latter two libSBML functions were originally developed to support conversion between SBML Levels 1 and 2, and were focused on the syntax of mathematical formulas used in SBML Level 1. With time, and the use of MathML in SBML Levels 2 and 3, it became clear that supporting Level 2 and 3's expanded mathematical syntax would be useful for software developers. To maintain backwards compatibility for libSBML users, the original SBML_formulaToString() and SBML_parseFormula() have been left untouched, and instead, the new functionality is provided in the form of SBML_parseL3Formula() and SBML_formulaToL3String().

The following lists the main differences in the formula syntax supported by the Level 3 ('L3') versions of the formula parsers and formatters, compared to what is supported by the Level 1-oriented SBML_parseFormula() and SBML_formulaToString():

  • Units may be asociated with bare numbers, using the following syntax:
    number unit
    The number may be in any form (an integer, real, or rational number), and the unit must conform to the syntax of an SBML identifier (technically, the type defined as SId in the SBML specifications). The whitespace between number and unit is optional.
  • The Boolean function symbols && (and), || (or), ! (not), and != (not equals) may be used.
  • The modulo operation is allowed as the symbol % and will produce a <piecewise> function in the corresponding MathML output by default, or can produce the MathML function rem, depending on the L3ParserSettings object (see L3ParserSettings_setParseModuloL3v2() ).
  • All inverse trigonometric functions may be defined in the infix either using arc as a prefix or simply a; in other words, both arccsc and acsc are interpreted as the operator arccosecant as defined in MathML 2.0. (Many functions in the simpler SBML Level 1 oriented parser implemented by SBML_parseFormula() are defined this way as well, but not all.)
  • The following expression is parsed as a rational number instead of as a numerical division:
    (integer/integer)
    Spaces are not allowed in this construct; in other words, "(3 / 4)" (with whitespace between the numbers and the operator) will be parsed into the MathML <divide> construct rather than a rational number. You can, however, assign units to a rational number as a whole; here is an example: "(3/4) ml". (In the case of division rather than a rational number, units are not interpreted in this way.)
  • Various parser and formatter behaviors may be altered through the use of a L3ParserSettings object in conjunction with the functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings() The settings available include the following:
    • The function log with a single argument ("log(x)") can be parsed as log10(x), ln(x), or treated as an error, as desired.

    • Unary minus signs can be collapsed or preserved; that is, sequential pairs of unary minuses (e.g., "- -3") can be removed from the input entirely and single unary minuses can be incorporated into the number node, or all minuses can be preserved in the AST node structure.

    • Parsing of units embedded in the input string can be turned on and off.

    • The string avogadro can be parsed as a MathML csymbol or as an identifier.

    • The string % can be parsed either as a piecewise function or as the 'rem' function: a % b will either become

      piecewise(a - b*ceil(a/b), xor((a < 0), (b < 0)), a - b*floor(a/b))

      or

      rem(a, b).

      The latter is simpler, but the rem MathML is only allowed as of SBML Level 3 Version 2.

    • A Model object may optionally be provided to the parser using the variant function call SBML_parseL3FormulaWithModel() or stored in a L3ParserSettings object passed to the variant function SBML_parseL3FormulaWithSettings(). When a Model object is provided, identifiers (values of type SId ) from that model are used in preference to pre-defined MathML definitions for both symbols and functions. More precisely:

      • In the case of symbols: the Model entities whose identifiers will shadow identical symbols in the mathematical formula are: Species, Compartment, Parameter, Reaction, and SpeciesReference. For instance, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.

      • In the case of user-defined functions: when a Model object is provided, SId values of user-defined functions present in the model will be used preferentially over pre-defined MathML functions. For example, if the passed-in Model contains a FunctionDefinition object with the identifier "sin", that function will be used instead of the predefined MathML function <sin/>.

    • An SBMLNamespaces object may optionally be provided to identify SBML Level 3 packages that extend the syntax understood by the formula parser. When the namespaces are provided, the parser will interpret possible additional syntax defined by the libSBML plug-ins implementing the SBML Level 3 packages; for example, it may understand vector/array extensions introduced by the SBML Level 3 Arrays package.

These configuration settings cannot be changed directly using the basic parser and formatter functions, but can be changed on a per-call basis by using the alternative functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings().

Neither SBML nor the MathML standard define a 'string-form' equivalent to MathML expressions. The approach taken by libSBML is to start with the formula syntax defined by SBML Level 1 (which in fact used a custom text-string representation of formulas, and not MathML), and expand it to include the functionality described above. This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Preced. Assoc.
namesymbol referenceoperand8n/a
(expression)expression groupingoperand8n/a
f(...)function callprefix8left
^powerbinary7left
-, !negation, Boolean 'not'unary6right
*, /, %multip., div., modulobinary5left
+, -addition and subtractionbinary4left
==, <, >, <=, >=, !=Boolean comparisonsbinary3left
&&, ||Boolean 'and' and 'or'binary2left
,argument delimiterbinary1left
Expression operators and their precedence in the "Level 3" text-string format for mathematical expressions.

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a + b * c is evaluated as a + (b * c) because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a && b || c is evaluated as (a && b) || c because the && and || operators are left-associative and have the same precedence.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters), followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification with additions based on the functions added in SBML Level 2 and Level 3:

Name Argument(s) Formula or meaning Argument Constraints Result constraints
abs x Absolute value of x.
acos, arccos x Arccosine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ acos(x) ≤ π
acosh, arccosh x Hyperbolic arccosine of x in radians.
acot, arccot x Arccotangent of x in radians.
acoth, arccoth x Hyperbolic arccotangent of x in radians.
acsc, arccsc x Arccosecant of x in radians.
acsch, arccsch x Hyperbolic arccosecant of x in radians.
asec, arcsec x Arcsecant of x in radians.
asech, arcsech x Hyperbolic arcsecant of x in radians.
asin, arcsin xArcsine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ asin(x) ≤ π
atan, arctan x Arctangent of x in radians. 0 ≤ atan(x) ≤ π
atanh, arctanh x Hyperbolic arctangent of x in radians.
ceil, ceiling x Smallest number not less than x whose value is an exact integer.
cos x Cosine of x
cosh x Hyperbolic cosine of x.
cot x Cotangent of x.
coth x Hyperbolic cotangent of x.
csc x Cosecant of x.
csch x Hyperbolic cosecant of x.
delay x, y The value of x at y time units in the past.
factorial n The factorial of n. Factorials are defined by n! = n*(n–1)* ... * 1. n must be an integer.
exp x e x, where e is the base of the natural logarithm.
floor x The largest number not greater than x whose value is an exact integer.
ln x Natural logarithm of x. x > 0
log x By default, the base 10 logarithm of x, but can be set to be the natural logarithm of x, or to be an illegal construct. x > 0
log x, y The base x logarithm of y. y > 0
log10 x Base 10 logarithm of x. x > 0
piecewise x1, y1, [x2, y2,] [...] [z] A piecewise function: if (y1), x1. Otherwise, if (y2), x2, etc. Otherwise, z. y1, y2, y3 [etc] must be Boolean
pow, power x, y x y.
root b, x The root base b of x.
sec x Secant of x.
sech x Hyperbolic secant of x.
sqr x x2.
sqrt x x. x > 0 sqrt(x) ≥ 0
sin x Sine of x.
sinh x Hyperbolic sine of x.
tan x Tangent of x. x ≠ n*π/2, for odd integer n
tanh x Hyperbolic tangent of x.
and x, y, z... Boolean and(x, y, z...): returns true if all of its arguments are true. Note that and is an n-ary function, taking 0 or more arguments, and that and() returns true. All arguments must be Boolean
not x Boolean not(x) x must be Boolean
or x, y, z... Boolean or(x, y, z...): returns true if at least one of its arguments is true. Note that or is an n-ary function, taking 0 or more arguments, and that or() returns false. All arguments must be Boolean
xor x, y, z... Boolean xor(x, y, z...): returns true if an odd number of its arguments is true. Note that xor is an n-ary function, taking 0 or more arguments, and that xor() returns false. All arguments must be Boolean
eq x, y, z... Boolean eq(x, y, z...): returns true if all arguments are equal. Note that eq is an n-ary function, but must take 2 or more arguments.
geq x, y, z... Boolean geq(x, y, z...): returns true if each argument is greater than or equal to the argument following it. Note that geq is an n-ary function, but must take 2 or more arguments.
gt x, y, z... Boolean gt(x, y, z...): returns true if each argument is greater than the argument following it. Note that gt is an n-ary function, but must take 2 or more arguments.
leq x, y, z... Boolean leq(x, y, z...): returns true if each argument is less than or equal to the argument following it. Note that leq is an n-ary function, but must take 2 or more arguments.
lt x, y, z... Boolean lt(x, y, z...): returns true if each argument is less than the argument following it. Note that lt is an n-ary function, but must take 2 or more arguments.
neq x, y Boolean x != y: returns true unless x and y are equal.
plus x, y, z... x + y + z + ...: The sum of the arguments of the function. Note that plus is an n-ary function taking 0 or more arguments, and that plus() returns 0.
times x, y, z... x * y * z * ...: The product of the arguments of the function. Note that times is an n-ary function taking 0 or more arguments, and that times() returns 1.
minus x, y xy.
divide x, y x / y.
Mathematical functions defined in the "Level 3" text-string formula syntax.

Parsing of the various MathML functions and constants are all case-insensitive by default: function names such as cos, Cos and COS are all parsed as the MathML cosine operator, <cos>. However, when a Model object is used in conjunction with either SBML_parseL3FormulaWithModel() or SBML_parseL3FormulaWithSettings(), any identifiers found in that model will be parsed in a case-sensitive way. For example, if a model contains a Species having the identifier Pi, the parser will parse "Pi" in the input as "<ci> Pi </ci>" but will continue to parse the symbols "pi" and "PI" as "<pi>".

As mentioned above, the manner in which the 'L3' versions of the formula parser and formatter interpret the function "log" can be changed. To do so, callers should use the function SBML_parseL3FormulaWithSettings() and pass it an appropriate L3ParserSettings object. By default, unlike the SBML Level 1 parser implemented by SBML_parseFormula(), the string "log" is interpreted as the base 10 logarithm, and not as the natural logarithm. However, you can change the interpretation to be base-10 log, natural log, or as an error; since the name 'log' by itself is ambiguous, you require that the parser uses log10 or ln instead, which are more clear. Please refer to SBML_parseL3FormulaWithSettings().

In addition, the following symbols will be translated to their MathML equivalents, if no symbol with the same SId identifier string exists in the Model object provided:

Name Meaning MathML
true Boolean value true <true/>
false Boolean value false <false/>
pi Mathematical constant pi <pi/>
avogadro Value of Avogadro's constant stipulated by SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol/>
time Simulation time as defined in SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol/>
inf, infinity Mathematical constant "infinity" <infinity/>
nan, notanumber Mathematical concept "not a number" <notanumber/>
Mathematical symbols defined in the "Level 3" text-string formula syntax.

Again, as mentioned above, whether the string "avogadro" is parsed as an AST node of type AST_NAME_AVOGADRO or AST_NAME is configurable; use the version of the parser function called SBML_parseL3FormulaWithSettings(). This Avogadro-related functionality is provided because SBML Level 2 models may not use AST_NAME_AVOGADRO AST nodes.

Parameters
treethe AST to be converted.
Returns
the formula from the given AST as an SBML Level 3 text-string mathematical formula. The caller owns the returned string and is responsible for freeing it when it is no longer needed.
See also
SBML_formulaToL3String()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static string libsbmlcs.libsbml.formulaToL3StringWithSettings ( ASTNode  tree,
L3ParserSettings  settings 
)
static

Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1, with behavior modifiable with custom settings.

This function behaves identically to SBML_formulaToL3String(), but its behavior can be modified by two settings in the

Parameters
settingsobject, namely:
  • ParseUnits: If this is set to 'true' (the default), the function will write out the units of any numerical ASTNodes that have them, producing (for example) '3 mL', '(3/4) m', or '5.5e-10 M'. If this is set to 'false', this function will only write out the number itself ('3', '(3/4)', and '5.5e-10', in the previous examples).
  • CollapseMinus: If this is set to 'false' (the default), the function will write out explicitly any doubly-nested unary minus ASTNodes, producing (for example) '–x' or even '—–3.1'. If this is set to 'true', the function will collapse the nodes before producing the infix, producing 'x' and '-3.1' in the previous examples.

All other settings will not affect the behavior of this function: the 'parseLog' setting is ignored, and 'log10(x)', 'ln(x)', and 'log(x, y)' are always produced. Nothing in the Model object is used, and whether Avogadro is a csymbol or not is immaterial to the produced infix.

Parameters
treethe AST to be converted.
settingsthe L3ParserSettings object used to modify behavior.
Returns
the formula from the given AST as an SBML Level 3 text-string mathematical formula. The caller owns the returned string and is responsible for freeing it when it is no longer needed.
See also
libsbml.parseFormula()
SBML_parseL3Formula()
SBML_formulaToL3String()
static string libsbmlcs.libsbml.formulaToString ( ASTNode  tree)
static

Converts an AST to a string representation of a formula using a syntax basically derived from SBML Level 1.

The text-string form of mathematical formulas produced by SBML_formulaToString() and read by SBML_parseFormula() use a simple C-inspired infix notation taken from SBML Level 1. A formula in this text-string form therefore can be handed to a program that understands SBML Level 1 mathematical expressions, or used as part of a formula translation system. The syntax is described in detail in the documentation for ASTNode. The following are illustrative examples of formulas expressed using this syntax:

0.10 * k4^2
(vm * s1)/(km + s1)

Note that this facility is provided as a convenience by libSBML—the MathML standard does not actually define a 'string-form' equivalent to MathML expression trees, so the choice of formula syntax is somewhat arbitrary. The approach taken by libSBML is to use the syntax defined by SBML Level 1 (which in fact used a text-string representation of formulas and not MathML). This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Precedence Associates
namesymbol referenceoperand6n/a
(expression)expression groupingoperand6n/a
f(...)function callprefix6left
-negationunary5right
^powerbinary4left
*multiplicationbinary3left
/divisonbinary3left
+additionbinary2left
-subtractionbinary2left
,argument delimiterbinary1left
A table of the expression operators and their precedence in the text-string format for mathematical expressions used by SBML_parseFormula().

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a * b + c is evaluated as (a * b) + c because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a - b + c is evaluated as (a - b) + c because the + and - operators are left-associative.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters, followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification:

Name Args Formula or meaning Argument Constraints Result constraints
absxabsolute value of x
acosxarc cosine of x in radians-1.0 ≤ x ≤ 1.00 ≤ acos(x) ≤ π
asinxarc sine of x in radians-1.0 ≤ x ≤ 1.00 ≤ asin(x) ≤ π
atanxarc tangent of x in radians0 ≤ atan(x) ≤ π
ceilxsmallest number not less than x whose value is an exact integer
cosxcosine of x
expxe x, where e is the base of the natural logarithm
floorxlargest number not greater than x whose value is an exact integer
logxnatural logarithm of xx > 0
log10xbase 10 logarithm of xx > 0
powx, yx y
sqrxx2
sqrtxxx > 0sqrt(x) ≥ 0
sinxsine of x
tanxtangent of xx ≠ n*π/2, for odd integer n
The names of mathematical functions defined in the SBML Level 1 Version 2 text-string formula syntax.
Warning
There are differences between the symbols used to represent the common mathematical functions and the corresponding MathML token names. This is a potential source of incompatibilities. Note in particular that in this text-string syntax, log(x) represents the natural logarithm, whereas in MathML, the natural logarithm is <ln/>. Application writers are urged to be careful when translating between text forms and MathML forms, especially if they provide a direct text-string input facility to users of their software systems.
Parameters
treethe AST to be converted.
Returns
the formula from the given AST as an SBML Level 1 text-string mathematical formula. The caller owns the returned string and is responsible for freeing it when it is no longer needed.
See also
libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static L3ParserSettings libsbmlcs.libsbml.getDefaultL3ParserSettings ( )
static

Returns a copy of the default Level 3 ('L3') formula parser settings.

The data structure storing the settings allows callers to change the following parsing behaviors:

The text-string form of mathematical formulas read by the function SBML_parseL3Formula() and written by the function SBML_formulaToL3String() uses an expanded version of the syntax read and written by SBML_parseFormula() and SBML_formulaToString(), respectively. The latter two libSBML functions were originally developed to support conversion between SBML Levels 1 and 2, and were focused on the syntax of mathematical formulas used in SBML Level 1. With time, and the use of MathML in SBML Levels 2 and 3, it became clear that supporting Level 2 and 3's expanded mathematical syntax would be useful for software developers. To maintain backwards compatibility for libSBML users, the original SBML_formulaToString() and SBML_parseFormula() have been left untouched, and instead, the new functionality is provided in the form of SBML_parseL3Formula() and SBML_formulaToL3String().

The following lists the main differences in the formula syntax supported by the Level 3 ('L3') versions of the formula parsers and formatters, compared to what is supported by the Level 1-oriented SBML_parseFormula() and SBML_formulaToString():

  • Units may be asociated with bare numbers, using the following syntax:
    number unit
    The number may be in any form (an integer, real, or rational number), and the unit must conform to the syntax of an SBML identifier (technically, the type defined as SId in the SBML specifications). The whitespace between number and unit is optional.
  • The Boolean function symbols && (and), || (or), ! (not), and != (not equals) may be used.
  • The modulo operation is allowed as the symbol % and will produce a <piecewise> function in the corresponding MathML output by default, or can produce the MathML function rem, depending on the L3ParserSettings object (see L3ParserSettings_setParseModuloL3v2() ).
  • All inverse trigonometric functions may be defined in the infix either using arc as a prefix or simply a; in other words, both arccsc and acsc are interpreted as the operator arccosecant as defined in MathML 2.0. (Many functions in the simpler SBML Level 1 oriented parser implemented by SBML_parseFormula() are defined this way as well, but not all.)
  • The following expression is parsed as a rational number instead of as a numerical division:
    (integer/integer)
    Spaces are not allowed in this construct; in other words, "(3 / 4)" (with whitespace between the numbers and the operator) will be parsed into the MathML <divide> construct rather than a rational number. You can, however, assign units to a rational number as a whole; here is an example: "(3/4) ml". (In the case of division rather than a rational number, units are not interpreted in this way.)
  • Various parser and formatter behaviors may be altered through the use of a L3ParserSettings object in conjunction with the functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings() The settings available include the following:
    • The function log with a single argument ("log(x)") can be parsed as log10(x), ln(x), or treated as an error, as desired.

    • Unary minus signs can be collapsed or preserved; that is, sequential pairs of unary minuses (e.g., "- -3") can be removed from the input entirely and single unary minuses can be incorporated into the number node, or all minuses can be preserved in the AST node structure.

    • Parsing of units embedded in the input string can be turned on and off.

    • The string avogadro can be parsed as a MathML csymbol or as an identifier.

    • The string % can be parsed either as a piecewise function or as the 'rem' function: a % b will either become

      piecewise(a - b*ceil(a/b), xor((a < 0), (b < 0)), a - b*floor(a/b))

      or

      rem(a, b).

      The latter is simpler, but the rem MathML is only allowed as of SBML Level 3 Version 2.

    • A Model object may optionally be provided to the parser using the variant function call SBML_parseL3FormulaWithModel() or stored in a L3ParserSettings object passed to the variant function SBML_parseL3FormulaWithSettings(). When a Model object is provided, identifiers (values of type SId ) from that model are used in preference to pre-defined MathML definitions for both symbols and functions. More precisely:

      • In the case of symbols: the Model entities whose identifiers will shadow identical symbols in the mathematical formula are: Species, Compartment, Parameter, Reaction, and SpeciesReference. For instance, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.

      • In the case of user-defined functions: when a Model object is provided, SId values of user-defined functions present in the model will be used preferentially over pre-defined MathML functions. For example, if the passed-in Model contains a FunctionDefinition object with the identifier "sin", that function will be used instead of the predefined MathML function <sin/>.

    • An SBMLNamespaces object may optionally be provided to identify SBML Level 3 packages that extend the syntax understood by the formula parser. When the namespaces are provided, the parser will interpret possible additional syntax defined by the libSBML plug-ins implementing the SBML Level 3 packages; for example, it may understand vector/array extensions introduced by the SBML Level 3 Arrays package.

These configuration settings cannot be changed directly using the basic parser and formatter functions, but can be changed on a per-call basis by using the alternative functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings().

Neither SBML nor the MathML standard define a 'string-form' equivalent to MathML expressions. The approach taken by libSBML is to start with the formula syntax defined by SBML Level 1 (which in fact used a custom text-string representation of formulas, and not MathML), and expand it to include the functionality described above. This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Preced. Assoc.
namesymbol referenceoperand8n/a
(expression)expression groupingoperand8n/a
f(...)function callprefix8left
^powerbinary7left
-, !negation, Boolean 'not'unary6right
*, /, %multip., div., modulobinary5left
+, -addition and subtractionbinary4left
==, <, >, <=, >=, !=Boolean comparisonsbinary3left
&&, ||Boolean 'and' and 'or'binary2left
,argument delimiterbinary1left
Expression operators and their precedence in the "Level 3" text-string format for mathematical expressions.

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a + b * c is evaluated as a + (b * c) because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a && b || c is evaluated as (a && b) || c because the && and || operators are left-associative and have the same precedence.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters), followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification with additions based on the functions added in SBML Level 2 and Level 3:

Name Argument(s) Formula or meaning Argument Constraints Result constraints
abs x Absolute value of x.
acos, arccos x Arccosine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ acos(x) ≤ π
acosh, arccosh x Hyperbolic arccosine of x in radians.
acot, arccot x Arccotangent of x in radians.
acoth, arccoth x Hyperbolic arccotangent of x in radians.
acsc, arccsc x Arccosecant of x in radians.
acsch, arccsch x Hyperbolic arccosecant of x in radians.
asec, arcsec x Arcsecant of x in radians.
asech, arcsech x Hyperbolic arcsecant of x in radians.
asin, arcsin xArcsine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ asin(x) ≤ π
atan, arctan x Arctangent of x in radians. 0 ≤ atan(x) ≤ π
atanh, arctanh x Hyperbolic arctangent of x in radians.
ceil, ceiling x Smallest number not less than x whose value is an exact integer.
cos x Cosine of x
cosh x Hyperbolic cosine of x.
cot x Cotangent of x.
coth x Hyperbolic cotangent of x.
csc x Cosecant of x.
csch x Hyperbolic cosecant of x.
delay x, y The value of x at y time units in the past.
factorial n The factorial of n. Factorials are defined by n! = n*(n–1)* ... * 1. n must be an integer.
exp x e x, where e is the base of the natural logarithm.
floor x The largest number not greater than x whose value is an exact integer.
ln x Natural logarithm of x. x > 0
log x By default, the base 10 logarithm of x, but can be set to be the natural logarithm of x, or to be an illegal construct. x > 0
log x, y The base x logarithm of y. y > 0
log10 x Base 10 logarithm of x. x > 0
piecewise x1, y1, [x2, y2,] [...] [z] A piecewise function: if (y1), x1. Otherwise, if (y2), x2, etc. Otherwise, z. y1, y2, y3 [etc] must be Boolean
pow, power x, y x y.
root b, x The root base b of x.
sec x Secant of x.
sech x Hyperbolic secant of x.
sqr x x2.
sqrt x x. x > 0 sqrt(x) ≥ 0
sin x Sine of x.
sinh x Hyperbolic sine of x.
tan x Tangent of x. x ≠ n*π/2, for odd integer n
tanh x Hyperbolic tangent of x.
and x, y, z... Boolean and(x, y, z...): returns true if all of its arguments are true. Note that and is an n-ary function, taking 0 or more arguments, and that and() returns true. All arguments must be Boolean
not x Boolean not(x) x must be Boolean
or x, y, z... Boolean or(x, y, z...): returns true if at least one of its arguments is true. Note that or is an n-ary function, taking 0 or more arguments, and that or() returns false. All arguments must be Boolean
xor x, y, z... Boolean xor(x, y, z...): returns true if an odd number of its arguments is true. Note that xor is an n-ary function, taking 0 or more arguments, and that xor() returns false. All arguments must be Boolean
eq x, y, z... Boolean eq(x, y, z...): returns true if all arguments are equal. Note that eq is an n-ary function, but must take 2 or more arguments.
geq x, y, z... Boolean geq(x, y, z...): returns true if each argument is greater than or equal to the argument following it. Note that geq is an n-ary function, but must take 2 or more arguments.
gt x, y, z... Boolean gt(x, y, z...): returns true if each argument is greater than the argument following it. Note that gt is an n-ary function, but must take 2 or more arguments.
leq x, y, z... Boolean leq(x, y, z...): returns true if each argument is less than or equal to the argument following it. Note that leq is an n-ary function, but must take 2 or more arguments.
lt x, y, z... Boolean lt(x, y, z...): returns true if each argument is less than the argument following it. Note that lt is an n-ary function, but must take 2 or more arguments.
neq x, y Boolean x != y: returns true unless x and y are equal.
plus x, y, z... x + y + z + ...: The sum of the arguments of the function. Note that plus is an n-ary function taking 0 or more arguments, and that plus() returns 0.
times x, y, z... x * y * z * ...: The product of the arguments of the function. Note that times is an n-ary function taking 0 or more arguments, and that times() returns 1.
minus x, y xy.
divide x, y x / y.
Mathematical functions defined in the "Level 3" text-string formula syntax.

Parsing of the various MathML functions and constants are all case-insensitive by default: function names such as cos, Cos and COS are all parsed as the MathML cosine operator, <cos>. However, when a Model object is used in conjunction with either SBML_parseL3FormulaWithModel() or SBML_parseL3FormulaWithSettings(), any identifiers found in that model will be parsed in a case-sensitive way. For example, if a model contains a Species having the identifier Pi, the parser will parse "Pi" in the input as "<ci> Pi </ci>" but will continue to parse the symbols "pi" and "PI" as "<pi>".

As mentioned above, the manner in which the 'L3' versions of the formula parser and formatter interpret the function "log" can be changed. To do so, callers should use the function SBML_parseL3FormulaWithSettings() and pass it an appropriate L3ParserSettings object. By default, unlike the SBML Level 1 parser implemented by SBML_parseFormula(), the string "log" is interpreted as the base 10 logarithm, and not as the natural logarithm. However, you can change the interpretation to be base-10 log, natural log, or as an error; since the name 'log' by itself is ambiguous, you require that the parser uses log10 or ln instead, which are more clear. Please refer to SBML_parseL3FormulaWithSettings().

In addition, the following symbols will be translated to their MathML equivalents, if no symbol with the same SId identifier string exists in the Model object provided:

Name Meaning MathML
true Boolean value true <true/>
false Boolean value false <false/>
pi Mathematical constant pi <pi/>
avogadro Value of Avogadro's constant stipulated by SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol/>
time Simulation time as defined in SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol/>
inf, infinity Mathematical constant "infinity" <infinity/>
nan, notanumber Mathematical concept "not a number" <notanumber/>
Mathematical symbols defined in the "Level 3" text-string formula syntax.

Again, as mentioned above, whether the string "avogadro" is parsed as an AST node of type AST_NAME_AVOGADRO or AST_NAME is configurable; use the version of the parser function called SBML_parseL3FormulaWithSettings(). This Avogadro-related functionality is provided because SBML Level 2 models may not use AST_NAME_AVOGADRO AST nodes.

For more details about the parser, please see the definition of L3ParserSettings and SBML_parseL3Formula().

See also
SBML_parseL3Formula()
SBML_parseL3FormulaWithSettings()
SBML_formulaToL3StringWithSettings()
L3ParserSettings
static string libsbmlcs.libsbml.getLastParseL3Error ( )
static

Returns the last error reported by the 'L3' mathematical formula parser.

If the functions SBML_parseL3Formula(), SBML_parseL3FormulaWithSettings(), or SBML_parseL3FormulaWithModel() return null, an error is set internally. This function allows callers to retrieve information about the error.

Returns
a string describing the error that occurred. This will contain the input string the parser was trying to parse, the character it had parsed when it encountered the error, and a description of the error.
See also
SBML_parseL3Formula()
SBML_parseL3FormulaWithSettings()
SBML_parseL3FormulaWithModel()
SBML_getDefaultL3ParserSettings()
static string libsbmlcs.libsbml.getLibSBMLDependencyVersionOf ( string  option)
static

Returns the version string for the dependency library used.

Parameters
optionthe library for which the version should be retrieved, this can be one of 'expat', 'libxml', 'xerces-c', 'bzip2', 'zip'
Returns
null in case libSBML has not been compiled against that library and a version string otherwise.
See also
isLibSBMLCompiledWith(string option)
static string libsbmlcs.libsbml.getLibSBMLDottedVersion ( )
static

Returns the version number of this copy of libSBML as a string.

Returns
the libSBML version as a string; version 1.2.3 becomes '1.2.3'.
See also
getLibSBMLVersionString()
static int libsbmlcs.libsbml.getLibSBMLVersion ( )
static

Returns the version number of this copy of libSBML as an integer.

Returns
the libSBML version as an integer; version 1.2.3 becomes 10203.
static string libsbmlcs.libsbml.getLibSBMLVersionString ( )
static

Returns the version number of this copy of libSBML as a string without periods.

Returns
the libSBML version as a string: version 1.2.3 becomes '10203'.
See also
getLibSBMLDottedVersion()
static int libsbmlcs.libsbml.GroupKind_fromString ( string  code)
static

Returns the enumeration value corresponding to the given string or GROUP_KIND_UNKNOWN if there is no such match.

Parameters
codethe string to convert to an enumeration value.
Returns
the corresponding value, or GROUP_KIND_UNKNOWN if no match is found.
Note
The matching is case-sensitive: 'classification' will return GROUP_KIND_CLASSIFICATION, but 'Classification' will return GROUP_KIND_UNKNOWN.
static int libsbmlcs.libsbml.GroupKind_isValid ( int  gk)
static

Predicate returning 1 (true) or 0 (false) depending on whether the given enumeration value is valid.

Parameters
gkthe enumeration value to query.
Returns
1 (true) if the value is GROUP_KIND_CLASSIFICATION, GROUP_KIND_PARTONOMY, or GROUP_KIND_COLLECTION; 0 (false) otherwise (including GROUP_KIND_UNKNOWN).
static int libsbmlcs.libsbml.GroupKind_isValidString ( string  code)
static

Predicate returning 1 (true) or 0 (false) depending on whether the given string is a valid enumeration value.

Parameters
codethe string to query.
Returns
1 (true) if the string is 'classification', 'partonomy', or 'collection'; 0 (false) otherwise.
Note
The matching is case-sensitive: 'classification' will return 1 (true), but 'Classification' will return 0 (false).
static string libsbmlcs.libsbml.GroupKind_toString ( int  gk)
static

Returns the string version of the provided enumeration value.

Parameters
gkthe enumeration value to convert.
Returns
A string corresponding to the given type: 'classification', 'partonomy', 'collection', or null if the value is GROUP_KIND_UNKNOWN or another invalid enumeration value.
Note
The string returned by this function is a pointer to a string literal defined in the libSBML library, and may not be modified or deleted.
static int libsbmlcs.libsbml.isLibSBMLCompiledWith ( string  option)
static

Returns an indication whether libSBML has been compiled with against a specific library.

Parameters
optionthe library to test against, this can be one of 'expat', 'libxml', 'xerces-c', 'bzip2', 'zip'
Returns
0 in case the libSBML has not been compiled against that library and non-zero otherwise (for libraries that define an integer version number that number will be returned).
See also
getLibSBMLDependencyVersionOf(string option)
static int libsbmlcs.libsbml.ModelQualifierType_fromString ( string  s)
static

This method takes a string and returns a model qualifier representing the string.

This method takes a string as argument and returns a model qualifier type corresponding to that string. For example, passing it the string 'isDescribedBy' will return the qualifier BQM_IS_DESCRIBED_BY.

Parameters
sthe string to translate to a libSBML constant value representing a model qualifier.
Returns
a libSBML qualifier enumeration value for the given human readable qualifier name.
static string libsbmlcs.libsbml.ModelQualifierType_toString ( int  type)
static

This method takes a model qualifier type code and returns a string representing the code.

This method takes a model qualifier type as argument and returns a string name corresponding to that code. For example, passing it the qualifier BQM_IS_DESCRIBED_BY will return the string 'isDescribedBy'.

Parameters
typethe value to translate. The value should be a libSBML constant whose name begins with BQM_, such as (for example) BQM_IS.
Returns
a human readable qualifier name for the given qualifier type.
Note
The caller does not own the returned string and is therefore not allowed to modify it.
static string libsbmlcs.libsbml.OperationReturnValue_toString ( int  returnValue)
static

This method takes an SBML operation return value and returns a string representing the code.

Parameters
returnValuethe operation return value to convert to a string.
Returns
a human readable name for the given operation return value .
Note
The caller does not own the returned string and is therefore not allowed to modify it.
static ASTNode libsbmlcs.libsbml.parseFormula ( string  formula)
static

Parses the given SBML formula and returns a representation of it as an Abstract Syntax Tree (AST).

The text-string form of mathematical formulas produced by SBML_formulaToString() and read by SBML_parseFormula() use a simple C-inspired infix notation taken from SBML Level 1. A formula in this text-string form therefore can be handed to a program that understands SBML Level 1 mathematical expressions, or used as part of a formula translation system. The syntax is described in detail in the documentation for ASTNode. The following are illustrative examples of formulas expressed using this syntax:

0.10 * k4^2
(vm * s1)/(km + s1)

Note that this facility is provided as a convenience by libSBML—the MathML standard does not actually define a 'string-form' equivalent to MathML expression trees, so the choice of formula syntax is somewhat arbitrary. The approach taken by libSBML is to use the syntax defined by SBML Level 1 (which in fact used a text-string representation of formulas and not MathML). This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Precedence Associates
namesymbol referenceoperand6n/a
(expression)expression groupingoperand6n/a
f(...)function callprefix6left
-negationunary5right
^powerbinary4left
*multiplicationbinary3left
/divisonbinary3left
+additionbinary2left
-subtractionbinary2left
,argument delimiterbinary1left
A table of the expression operators and their precedence in the text-string format for mathematical expressions used by SBML_parseFormula().

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a * b + c is evaluated as (a * b) + c because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a - b + c is evaluated as (a - b) + c because the + and - operators are left-associative.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters, followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification:

Name Args Formula or meaning Argument Constraints Result constraints
absxabsolute value of x
acosxarc cosine of x in radians-1.0 ≤ x ≤ 1.00 ≤ acos(x) ≤ π
asinxarc sine of x in radians-1.0 ≤ x ≤ 1.00 ≤ asin(x) ≤ π
atanxarc tangent of x in radians0 ≤ atan(x) ≤ π
ceilxsmallest number not less than x whose value is an exact integer
cosxcosine of x
expxe x, where e is the base of the natural logarithm
floorxlargest number not greater than x whose value is an exact integer
logxnatural logarithm of xx > 0
log10xbase 10 logarithm of xx > 0
powx, yx y
sqrxx2
sqrtxxx > 0sqrt(x) ≥ 0
sinxsine of x
tanxtangent of xx ≠ n*π/2, for odd integer n
The names of mathematical functions defined in the SBML Level 1 Version 2 text-string formula syntax.
Warning
There are differences between the symbols used to represent the common mathematical functions and the corresponding MathML token names. This is a potential source of incompatibilities. Note in particular that in this text-string syntax, log(x) represents the natural logarithm, whereas in MathML, the natural logarithm is <ln/>. Application writers are urged to be careful when translating between text forms and MathML forms, especially if they provide a direct text-string input facility to users of their software systems.
Parameters
formulathe text-string formula expression to be parsed
Returns
the root node of the AST corresponding to the formula, or null if an error occurred in parsing the formula
See also
libsbml.formulaToString()
SBML_parseL3FormulaWithSettings()
SBML_parseL3Formula()
SBML_parseL3FormulaWithModel()
SBML_getLastParseL3Error()
SBML_getDefaultL3ParserSettings()
static ASTNode libsbmlcs.libsbml.parseL3Formula ( string  formula)
static

Parses a text string as a mathematical formula and returns an AST representation of it.

The text-string form of mathematical formulas read by the function SBML_parseL3Formula() and written by the function SBML_formulaToL3String() uses an expanded version of the syntax read and written by SBML_parseFormula() and SBML_formulaToString(), respectively. The latter two libSBML functions were originally developed to support conversion between SBML Levels 1 and 2, and were focused on the syntax of mathematical formulas used in SBML Level 1. With time, and the use of MathML in SBML Levels 2 and 3, it became clear that supporting Level 2 and 3's expanded mathematical syntax would be useful for software developers. To maintain backwards compatibility for libSBML users, the original SBML_formulaToString() and SBML_parseFormula() have been left untouched, and instead, the new functionality is provided in the form of SBML_parseL3Formula() and SBML_formulaToL3String().

The following lists the main differences in the formula syntax supported by the Level 3 ('L3') versions of the formula parsers and formatters, compared to what is supported by the Level 1-oriented SBML_parseFormula() and SBML_formulaToString():

  • Units may be asociated with bare numbers, using the following syntax:
    number unit
    The number may be in any form (an integer, real, or rational number), and the unit must conform to the syntax of an SBML identifier (technically, the type defined as SId in the SBML specifications). The whitespace between number and unit is optional.
  • The Boolean function symbols && (and), || (or), ! (not), and != (not equals) may be used.
  • The modulo operation is allowed as the symbol % and will produce a <piecewise> function in the corresponding MathML output by default, or can produce the MathML function rem, depending on the L3ParserSettings object (see L3ParserSettings_setParseModuloL3v2() ).
  • All inverse trigonometric functions may be defined in the infix either using arc as a prefix or simply a; in other words, both arccsc and acsc are interpreted as the operator arccosecant as defined in MathML 2.0. (Many functions in the simpler SBML Level 1 oriented parser implemented by SBML_parseFormula() are defined this way as well, but not all.)
  • The following expression is parsed as a rational number instead of as a numerical division:
    (integer/integer)
    Spaces are not allowed in this construct; in other words, "(3 / 4)" (with whitespace between the numbers and the operator) will be parsed into the MathML <divide> construct rather than a rational number. You can, however, assign units to a rational number as a whole; here is an example: "(3/4) ml". (In the case of division rather than a rational number, units are not interpreted in this way.)
  • Various parser and formatter behaviors may be altered through the use of a L3ParserSettings object in conjunction with the functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings() The settings available include the following:
    • The function log with a single argument ("log(x)") can be parsed as log10(x), ln(x), or treated as an error, as desired.

    • Unary minus signs can be collapsed or preserved; that is, sequential pairs of unary minuses (e.g., "- -3") can be removed from the input entirely and single unary minuses can be incorporated into the number node, or all minuses can be preserved in the AST node structure.

    • Parsing of units embedded in the input string can be turned on and off.

    • The string avogadro can be parsed as a MathML csymbol or as an identifier.

    • The string % can be parsed either as a piecewise function or as the 'rem' function: a % b will either become

      piecewise(a - b*ceil(a/b), xor((a < 0), (b < 0)), a - b*floor(a/b))

      or

      rem(a, b).

      The latter is simpler, but the rem MathML is only allowed as of SBML Level 3 Version 2.

    • A Model object may optionally be provided to the parser using the variant function call SBML_parseL3FormulaWithModel() or stored in a L3ParserSettings object passed to the variant function SBML_parseL3FormulaWithSettings(). When a Model object is provided, identifiers (values of type SId ) from that model are used in preference to pre-defined MathML definitions for both symbols and functions. More precisely:

      • In the case of symbols: the Model entities whose identifiers will shadow identical symbols in the mathematical formula are: Species, Compartment, Parameter, Reaction, and SpeciesReference. For instance, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced will contain the construct <ci> pi </ci> instead of the construct <pi/>.

      • In the case of user-defined functions: when a Model object is provided, SId values of user-defined functions present in the model will be used preferentially over pre-defined MathML functions. For example, if the passed-in Model contains a FunctionDefinition object with the identifier "sin", that function will be used instead of the predefined MathML function <sin/>.

    • An SBMLNamespaces object may optionally be provided to identify SBML Level 3 packages that extend the syntax understood by the formula parser. When the namespaces are provided, the parser will interpret possible additional syntax defined by the libSBML plug-ins implementing the SBML Level 3 packages; for example, it may understand vector/array extensions introduced by the SBML Level 3 Arrays package.

These configuration settings cannot be changed directly using the basic parser and formatter functions, but can be changed on a per-call basis by using the alternative functions SBML_parseL3FormulaWithSettings() and SBML_formulaToL3StringWithSettings().

Neither SBML nor the MathML standard define a 'string-form' equivalent to MathML expressions. The approach taken by libSBML is to start with the formula syntax defined by SBML Level 1 (which in fact used a custom text-string representation of formulas, and not MathML), and expand it to include the functionality described above. This formula syntax is based mostly on C programming syntax, and may contain operators, function calls, symbols, and white space characters. The following table provides the precedence rules for the different entities that may appear in formula strings.

Token Operation Class Preced. Assoc.
namesymbol referenceoperand8n/a
(expression)expression groupingoperand8n/a
f(...)function callprefix8left
^powerbinary7left
-, !negation, Boolean 'not'unary6right
*, /, %multip., div., modulobinary5left
+, -addition and subtractionbinary4left
==, <, >, <=, >=, !=Boolean comparisonsbinary3left
&&, ||Boolean 'and' and 'or'binary2left
,argument delimiterbinary1left
Expression operators and their precedence in the "Level 3" text-string format for mathematical expressions.

In the table above, operand implies the construct is an operand, prefix implies the operation is applied to the following arguments, unary implies there is one argument, and binary implies there are two arguments. The values in the Precedence column show how the order of different types of operation are determined. For example, the expression a + b * c is evaluated as a + (b * c) because the * operator has higher precedence. The Associates column shows how the order of similar precedence operations is determined; for example, a && b || c is evaluated as (a && b) || c because the && and || operators are left-associative and have the same precedence.

The function call syntax consists of a function name, followed by optional white space, followed by an opening parenthesis token, followed by a sequence of zero or more arguments separated by commas (with each comma optionally preceded and/or followed by zero or more white space characters), followed by a closing parenthesis token. The function name must be chosen from one of the pre-defined functions in SBML or a user-defined function in the model. The following table lists the names of certain common mathematical functions; this table corresponds to Table 6 in the SBML Level 1 Version 2 specification with additions based on the functions added in SBML Level 2 and Level 3:

Name Argument(s) Formula or meaning Argument Constraints Result constraints
abs x Absolute value of x.
acos, arccos x Arccosine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ acos(x) ≤ π
acosh, arccosh x Hyperbolic arccosine of x in radians.
acot, arccot x Arccotangent of x in radians.
acoth, arccoth x Hyperbolic arccotangent of x in radians.
acsc, arccsc x Arccosecant of x in radians.
acsch, arccsch x Hyperbolic arccosecant of x in radians.
asec, arcsec x Arcsecant of x in radians.
asech, arcsech x Hyperbolic arcsecant of x in radians.
asin, arcsin xArcsine of x in radians. –1.0 ≤ x ≤ 1.0 0 ≤ asin(x) ≤ π
atan, arctan x Arctangent of x in radians. 0 ≤ atan(x) ≤ π
atanh, arctanh x Hyperbolic arctangent of x in radians.
ceil, ceiling x Smallest number not less than x whose value is an exact integer.
cos x Cosine of x
cosh x Hyperbolic cosine of x.
cot x Cotangent of x.
coth x Hyperbolic cotangent of x.
csc x Cosecant of x.
csch x Hyperbolic cosecant of x.
delay x, y The value of x at y time units in the past.
factorial n The factorial of n. Factorials are defined by n! = n*(n–1)* ... * 1. n must be an integer.
exp x e x, where e is the base of the natural logarithm.
floor x The largest number not greater than x whose value is an exact integer.
ln x Natural logarithm of x. x > 0
log x By default, the base 10 logarithm of x, but can be set to be the natural logarithm of x, or to be an illegal construct. x > 0
log x, y The base x logarithm of y. y > 0
log10 x Base 10 logarithm of x. x > 0
piecewise x1, y1, [x2, y2,] [...] [z] A piecewise function: if (y1), x1. Otherwise, if (y2), x2, etc. Otherwise, z. y1, y2, y3 [etc] must be Boolean
pow, power x, y x y.
root b, x The root base b of x.
sec x Secant of x.
sech x Hyperbolic secant of x.
sqr x x2.
sqrt x x. x > 0 sqrt(x) ≥ 0
sin x Sine of x.
sinh x Hyperbolic sine of x.
tan x Tangent of x. x ≠ n*π/2, for odd integer n
tanh x Hyperbolic tangent of x.
and x, y, z... Boolean and(x, y, z...): returns true if all of its arguments are true. Note that and is an n-ary function, taking 0 or more arguments, and that and() returns true. All arguments must be Boolean
not x Boolean not(x) x must be Boolean
or x, y, z... Boolean or(x, y, z...): returns true if at least one of its arguments is true. Note that or is an n-ary function, taking 0 or more arguments, and that or() returns false. All arguments must be Boolean
xor x, y, z... Boolean xor(x, y, z...): returns true if an odd number of its arguments is true. Note that xor is an n-ary function, taking 0 or more arguments, and that xor() returns false. All arguments must be Boolean
eq x, y, z... Boolean eq(x, y, z...): returns true if all arguments are equal. Note that eq is an n-ary function, but must take 2 or more arguments.
geq x, y, z... Boolean geq(x, y, z...): returns true if each argument is greater than or equal to the argument following it. Note that geq is an n-ary function, but must take 2 or more arguments.
gt x, y, z... Boolean gt(x, y, z...): returns true if each argument is greater than the argument following it. Note that gt is an n-ary function, but must take 2 or more arguments.
leq x, y, z... Boolean leq(x, y, z...): returns true if each argument is less than or equal to the argument following it. Note that leq is an n-ary function, but must take 2 or more arguments.
lt x, y, z... Boolean lt(x, y, z...): returns true if each argument is less than the argument following it. Note that lt is an n-ary function, but must take 2 or more arguments.
neq x, y Boolean x != y: returns true unless x and y are equal.
plus x, y, z... x + y + z + ...: The sum of the arguments of the function. Note that plus is an n-ary function taking 0 or more arguments, and that plus() returns 0.
times x, y, z... x * y * z * ...: The product of the arguments of the function. Note that times is an n-ary function taking 0 or more arguments, and that times() returns 1.
minus x, y xy.
divide x, y x / y.
Mathematical functions defined in the "Level 3" text-string formula syntax.

Parsing of the various MathML functions and constants are all case-insensitive by default: function names such as cos, Cos and COS are all parsed as the MathML cosine operator, <cos>. However, when a Model object is used in conjunction with either SBML_parseL3FormulaWithModel() or SBML_parseL3FormulaWithSettings(), any identifiers found in that model will be parsed in a case-sensitive way. For example, if a model contains a Species having the identifier Pi, the parser will parse "Pi" in the input as "<ci> Pi </ci>" but will continue to parse the symbols "pi" and "PI" as "<pi>".

As mentioned above, the manner in which the 'L3' versions of the formula parser and formatter interpret the function "log" can be changed. To do so, callers should use the function SBML_parseL3FormulaWithSettings() and pass it an appropriate L3ParserSettings object. By default, unlike the SBML Level 1 parser implemented by SBML_parseFormula(), the string "log" is interpreted as the base 10 logarithm, and not as the natural logarithm. However, you can change the interpretation to be base-10 log, natural log, or as an error; since the name 'log' by itself is ambiguous, you require that the parser uses log10 or ln instead, which are more clear. Please refer to SBML_parseL3FormulaWithSettings().

In addition, the following symbols will be translated to their MathML equivalents, if no symbol with the same SId identifier string exists in the Model object provided:

Name Meaning MathML
true Boolean value true <true/>
false Boolean value false <false/>
pi Mathematical constant pi <pi/>
avogadro Value of Avogadro's constant stipulated by SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/avogadro"> avogadro </csymbol/>
time Simulation time as defined in SBML <csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> time </csymbol/>
inf, infinity Mathematical constant "infinity" <infinity/>
nan, notanumber Mathematical concept "not a number" <notanumber/>
Mathematical symbols defined in the "Level 3" text-string formula syntax.

Again, as mentioned above, whether the string "avogadro" is parsed as an AST node of type AST_NAME_AVOGADRO or AST_NAME is configurable; use the version of the parser function called SBML_parseL3FormulaWithSettings(). This Avogadro-related functionality is provided because SBML Level 2 models may not use AST_NAME_AVOGADRO AST nodes.

Parameters
formulathe text-string formula expression to be parsed.
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See also
SBML_parseL3FormulaWithSettings()
SBML_parseL3FormulaWithModel()
SBML_parseFormula()
SBML_formulaToL3StringWithSettings()
SBML_formulaToL3String()
SBML_formulaToString()
L3ParserSettings
SBML_getDefaultL3ParserSettings()
SBML_getLastParseL3Error()
Note
We urge developers to keep in mind that the text-string formula syntax is specific to libSBML. Neither MathML nor SBML define a text-string format for mathematical formulas. LibSBML's particular syntax should not be considered to be a canonical or standard general-purpose mathematical expression syntax. LibSBML provides methods for parsing and transforming text-string math formulas back and forth from AST structures for the convenience of calling applications, but it is important to keep the system's limitations in mind.
static ASTNode libsbmlcs.libsbml.parseL3FormulaWithModel ( string  formula,
Model  model 
)
static

Parses a text string as a mathematical formula using a Model to resolve symbols, and returns an AST representation of the result.

This is identical to SBML_parseL3Formula(), except that this function uses the given model in the argument model to check against identifiers that appear in the formula. For more information about the parser, please see the definition of L3ParserSettings and the function SBML_parseL3Formula().

Parameters
formulathe mathematical formula expression to be parsed.
modelthe Model object to use for checking identifiers.
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See also
SBML_parseL3Formula()
SBML_parseL3FormulaWithSettings()
SBML_parseL3FormulaWithModel()
SBML_parseFormula()
SBML_getLastParseL3Error()
L3ParserSettings
static ASTNode libsbmlcs.libsbml.parseL3FormulaWithSettings ( string  formula,
L3ParserSettings  settings 
)
static

Parses a text string as a mathematical formula using specific parser settings and returns an AST representation of the result.

This is identical to SBML_parseL3Formula(), except that this function uses the parser settings given in the argument settings. The settings override the default parsing behavior. The following parsing behaviors can be configured:

  • A Model object may optionally be provided to use identifiers (values of type SId) from the model in preference to pre-defined MathML symbols More precisely, the Model entities whose identifiers will shadow identical symbols in the mathematical formula are: Species, Compartment, Parameter, Reaction, and SpeciesReference. For instance, if the parser is given a Model containing a Species with the identifier "pi", and the formula to be parsed is "3*pi", the MathML produced by the parser will contain the construct <ci> pi </ci> instead of the construct <pi/>. Another example, if the passed-in Model contains a FunctionDefinition with the identifier "sin", that function will be used instead of the predefined MathML function <sin/>.
  • The function log with a single argument ("log(x)") can be parsed as log10(x), ln(x), or treated as an error, as desired.
  • Unary minus signs can be either collapsed or preserved; that is, the parser can either (1) remove sequential pairs of unary minuses (e.g., "- -3") from the input and incorporate single unary minuses into the number node, or (2) preserve all minuses in the AST node structure, turning them into ASTNode objects of type AST_MINUS.
  • The character sequence "number id" can be interpreted as a numerical value number followed by units of measurement indicated by id, or it can be treated as a syntax error. (In Level 3, MathML <cn> elements can have an attribute named units placed in the SBML namespace, which can be used to indicate the units to be associated with the number. The text-string infix formula parser allows units to be placed after raw numbers; they are interpreted as unit identifiers for units defined by the SBML specification or in the containing Model object.)
  • The symbol avogadro can be parsed either as a MathML csymbol or as a identifier. More specifically, "avogadro" can be treated as an ASTNode of type AST_NAME_AVOGADRO or of type AST_NAME.
  • Strings that match built-in functions and constants can either be parsed as a match regardless of capitalization, or may be required to be all-lower-case to be considered a match.
  • LibSBML plug-ins implementing support for SBML Level 3 packages may introduce extensions to the syntax understood by the parser. The precise nature of the extensions will be documented by the individual package plug-ins. An example of a possible extension is a notation for vectors and arrays, introduced by the SBML Level 3 Arrays package.

For more details about the parser, please see the definition of L3ParserSettings and SBML_parseL3FormulaWithSettings().

Parameters
formulathe mathematical formula expression to be parsed.
settingsthe settings to be used for this parser invocation.
Returns
the root node of an AST representing the mathematical formula, or null if an error occurred while parsing the formula. When null is returned, an error is recorded internally; information about the error can be retrieved using SBML_getLastParseL3Error().
See also
SBML_parseL3Formula()
SBML_parseL3FormulaWithSettings()
SBML_parseL3FormulaWithModel()
SBML_parseFormula()
SBML_getLastParseL3Error()
L3ParserSettings
static void libsbmlcs.libsbml.parseLayoutAnnotation ( XMLNode  annotation,
ListOfLayouts  layouts 
)
static

takes an annotation that has been read into the model identifies the RDF elements and creates a List of Layouts from the annotation

static XMLNode libsbmlcs.libsbml.parseLayoutId ( SimpleSpeciesReference  sr)
static

Creates an XMLNode that represents the layoutId annotation of the species reference from the given SpeciesReference object.

static XMLNode libsbmlcs.libsbml.parseLayouts ( Model  pModel)
static

Creates an XMLNode that represents the layouts of the model from the given Model object.

static void libsbmlcs.libsbml.parseSpeciesReferenceAnnotation ( XMLNode  annotation,
SimpleSpeciesReference  sr 
)
static

takes an annotation that has been read into the species reference identifies the id elements and set the id of the species reference

static ASTNode libsbmlcs.libsbml.readMathMLFromString ( string  xml)
static

Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree.

Parameters
xmla string containing a full MathML expression
Returns
the root of an AST corresponding to the given mathematical expression, otherwise null is returned if the given string is null or invalid.
static ASTNode libsbmlcs.libsbml.readMathMLFromStringWithNamespaces ( string  xml,
XMLNamespaces  xmlns 
)
static

Reads the MathML from the given XML string, constructs a corresponding abstract syntax tree, and returns a pointer to the root of the tree.

Parameters
xmla string containing a full MathML expression
xmlnsan XMLNamespaces objectcontaining namespaces that are considered active during the read. (For example, an SBML Level 3 package namespace.)
Returns
the root of an AST corresponding to the given mathematical expression, otherwise null is returned if the given string is null or invalid.
static SBMLDocument libsbmlcs.libsbml.readSBML ( string  filename)
static

Reads an SBML document from the given file.

If the file named filename does not exist or its content is not valid SBML, one or more errors will be logged with the SBMLDocument object returned by this method. Callers can use the methods on SBMLDocument such as , SBMLDocument::getNumErrors() and SBMLDocument::getError() to get the errors. The object returned by SBMLDocument::getError() is an SBMLError object, and it has methods to get the error code, category, and severity level of the problem, as well as a textual description of the problem. The possible severity levels range from informational messages to fatal errors; see the documentation for SBMLError for more information.

If the file filename could not be read, the file-reading error will appear first. The error code can provide a clue about what happened. For example, a file might be unreadable (either because it does not actually exist or because the user does not have the necessary access privileges to read it) or some sort of file operation error may have been reported by the underlying operating system. Callers can check for these situations using a program fragment such as the following:

SBMLReader reader = new SBMLReader();
SBMLDocument doc = reader.readSBMLFromFile(filename);
if (doc.getNumErrors() > 0)
{
if (doc.getError(0).getErrorId() == libsbmlcs.libsbml.XMLFileUnreadable)
{
// Handle case of unreadable file here.
}
else if (doc.getError(0).getErrorId() == libsbmlcs.libsbml.XMLFileOperationError)
{
// Handle case of other file operation error here.
}
else
{
// Handle other cases -- see error codes defined in XMLErrorCode_t
// for other possible cases to check.
}
}

If the given filename ends with the suffix '.gz' (for example, 'myfile.xml.gz'), the file is assumed to be compressed in gzip format and will be automatically decompressed upon reading. Similarly, if the given filename ends with '.zip' or '.bz2', the file is assumed to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be read uncompressed. Note that if the file is in zip format but the archive contains more than one file, only the first file in the archive will be read and the rest ignored.

To read a gzip/zip file, libSBML needs to be configured and linked with the zlib library at compile time. It also needs to be linked with the bzip2 library to read files in bzip2 format. (Both of these are the default configurations for libSBML.) Errors about unreadable files will be logged if a compressed filename is given and libSBML was not linked with the corresponding required library.

static SBMLDocument libsbmlcs.libsbml.readSBMLFromFile ( string  filename)
static

Reads an SBML document from the given file.

If the file named filename does not exist or its content is not valid SBML, one or more errors will be logged with the SBMLDocument object returned by this method. Callers can use the methods on SBMLDocument such as , SBMLDocument::getNumErrors() and SBMLDocument::getError() to get the errors. The object returned by SBMLDocument::getError() is an SBMLError object, and it has methods to get the error code, category, and severity level of the problem, as well as a textual description of the problem. The possible severity levels range from informational messages to fatal errors; see the documentation for SBMLError for more information.

If the file filename could not be read, the file-reading error will appear first. The error code can provide a clue about what happened. For example, a file might be unreadable (either because it does not actually exist or because the user does not have the necessary access privileges to read it) or some sort of file operation error may have been reported by the underlying operating system. Callers can check for these situations using a program fragment such as the following:

SBMLReader reader = new SBMLReader();
SBMLDocument doc = reader.readSBMLFromFile(filename);
if (doc.getNumErrors() > 0)
{
if (doc.getError(0).getErrorId() == libsbmlcs.libsbml.XMLFileUnreadable)
{
// Handle case of unreadable file here.
}
else if (doc.getError(0).getErrorId() == libsbmlcs.libsbml.XMLFileOperationError)
{
// Handle case of other file operation error here.
}
else
{
// Handle other cases -- see error codes defined in XMLErrorCode_t
// for other possible cases to check.
}
}

If the given filename ends with the suffix '.gz' (for example, 'myfile.xml.gz'), the file is assumed to be compressed in gzip format and will be automatically decompressed upon reading. Similarly, if the given filename ends with '.zip' or '.bz2', the file is assumed to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be read uncompressed. Note that if the file is in zip format but the archive contains more than one file, only the first file in the archive will be read and the rest ignored.

To read a gzip/zip file, libSBML needs to be configured and linked with the zlib library at compile time. It also needs to be linked with the bzip2 library to read files in bzip2 format. (Both of these are the default configurations for libSBML.) Errors about unreadable files will be logged if a compressed filename is given and libSBML was not linked with the corresponding required library.

Parameters
filenamethe name or full pathname of the file to be read.
Returns
a pointer to the SBMLDocument structure created from the SBML content in filename.
static SBMLDocument libsbmlcs.libsbml.readSBMLFromString ( string  xml)
static

Reads an SBML document from a text string.

This method is flexible with respect to the presence of an XML declaration at the beginning of the string. In particular, if the string in xml does not begin with the XML declaration

<?xml version='1.0' encoding='UTF-8'?>

then this method will automatically prepend the declaration to xml.

This method will log a fatal error if the content given in the parameter xml is not in SBML format. See the method documentation for SBMLReader::readSBML() for an example of code for testing the returned error code.

Parameters
xmla string containing a full SBML model.
Returns
a pointer to the SBMLDocument structure created from the SBML content in xml.
Note
When using this method to read an SBMLDocument that uses the SBML Level 3 Hierarchical Model Composition package (comp) the document location cannot be set automatically. Thus, if the model contains references to ExternalModelDefinition objects, it will be necessary to manually set the document URI location (SBMLDocument::setLocationURI() ) in order to facilitate resolving these models.
static int libsbmlcs.libsbml.Relation_fromString ( string  code)
static

Returns the Relation_t enumeration corresponding to the given string or MULTI_RELATION_UNKNOWN if there is no such match.

Parameters
codethe string to convert to a Relation_t.
Returns
the corresponding Relation_t or MULTI_RELATION_UNKNOWN if no match is found.
Note
The matching is case-sensitive: 'and' will return MULTI_RELATION_AND, but 'And' will return MULTI_RELATION_UNKNOWN.
static string libsbmlcs.libsbml.Relation_toString ( int  r)
static

Returns the string version of the provided Relation_t enumeration.

Parameters
rthe Relation_t enumeration value to convert.
Returns
A string corresponding to the given type: 'and', 'or', 'not', or null if the value is MULTI_RELATION_UNKNOWN or another invalid enumeration value.
Note
The string returned by this function is a pointer to a string literal defined in the libSBML library, and may not be modified or deleted.
static void libsbmlcs.libsbml.SBML_deleteL3Parser ( )
static
static string libsbmlcs.libsbml.SBMLTypeCode_toString ( int  tc,
string  pkgName 
)
static

This method takes an SBML type code and returns a string representing the code.

LibSBML attaches an identifying code to every kind of SBML object. These are known as SBML type codes. In the C# language interface for libSBML, the type codes are defined as static integer constants in the interface class libsbml. The names of the type codes all begin with the characters SBML_.

Returns
a human readable name for the given SBML type code.
Note
The caller does not own the returned string and is therefore not allowed to modify it.
static int libsbmlcs.libsbml.SpreadMethod_fromString ( string  name)
static
static string libsbmlcs.libsbml.SpreadMethod_toString ( int  method)
static
static int libsbmlcs.libsbml.TextAnchor_fromString ( string  str)
static
static string libsbmlcs.libsbml.TextAnchor_toString ( int  anchor)
static
static int libsbmlcs.libsbml.UnitKind_equals ( int  uk1,
int  uk2 
)
static

Tests for logical equality between two given.

UNIT_KIND_ code values.

This function behaves exactly like C's == operator, except for the following two cases:

In the two cases above, C equality comparison would yield 0 (false) (because each of the above is a distinct enumeration value), but this function returns true.

Parameters
uk1a UNIT_KIND_ value.
uk2a second UNIT_KIND_ value to compare to uk1.
Returns
1 (true) if uk1 is logically equivalent to uk2, 0 (false) otherwise.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static int libsbmlcs.libsbml.UnitKind_forName ( string  name)
static

Converts a text string naming a kind of unit to its corresponding libSBML.

UNIT_KIND_ constant/enumeration value.

Parameters
namea string, the name of a predefined base unit in SBML.
Returns
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static int libsbmlcs.libsbml.UnitKind_isValidUnitKindString ( string  str,
long  level,
long  version 
)
static

Predicate for testing whether a given string corresponds to a predefined libSBML unit code.

Parameters
stra text string naming a base unit defined by SBML.
levelthe Level of SBML.
versionthe Version within the Level of SBML.
Returns
1 (true) if string is the name of a valid UNIT_KIND_ value, 0 (false) otherwise.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
static string libsbmlcs.libsbml.UnitKind_toString ( int  uk)
static

Converts a unit code to a text string equivalent.

Parameters
uk
Returns
the name corresponding to the given unit code.
Note
For more information about the libSBML unit codes, please refer to the class documentation for Unit.
Warning
The string returned is a static data value. The caller does not own the returned string and is therefore not allowed to modify it.
static string libsbmlcs.libsbml.writeMathMLToString ( ASTNode  node)
static

Writes the given ASTNode (and its children) to a string as MathML, and returns the string.

Parameters
nodethe root of an AST to write out to the stream.
Returns
a string containing the written-out MathML representation of the given AST.
Note
The string is owned by the caller and should be freed (with free()) when no longer needed. null is returned if the given argument is null.
static string libsbmlcs.libsbml.writeMathMLWithNamespaceToString ( ASTNode  node,
SBMLNamespaces  sbmlns 
)
static

Writes the given AST node (and its children) to a string as MathML, and returns the string.

Parameters
nodethe root of an AST to write out to the stream.
sbmlnsthe SBML namespace to be used
Returns
a string containing the written-out MathML representation of the given AST.
Note
The string is owned by the caller and should be freed (with free()) when no longer needed. null is returned if the given argument is null.
static int libsbmlcs.libsbml.writeSBML ( SBMLDocument  d,
string  filename 
)
static

Writes the given SBML document d to the file named by filename.

This convenience function is functionally equivalent to:

SBMLWriter_writeSBML(SBMLWriter_create(), d, filename);

If the given filename ends with the suffix ".gz" (for example, "myfile.xml.gz"), libSBML assumes the caller wants the file to be written compressed in gzip format. Similarly, if the given filename ends with ".zip" or ".bz2", libSBML assumes the caller wants the file to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be written uncompressed. Special considerations for the zip format: If the given filename ends with ".zip", the file placed in the zip archive will have the suffix ".xml" or ".sbml". For example, the file in the zip archive will be named "test.xml" if the given filename is "test.xml.zip" or "test.zip". Similarly, the filename in the archive will be "test.sbml" if the given filename is "test.sbml.zip".
Parameters
dthe SBMLDocument object to be written out in XML format.
filenamea string giving the path to a file where the XML content is to be written.
Returns
1 (true) on success and 0 (false) if filename could not be written. Some possible reasons for failure include (a) being unable to open the file, and (b) using a filename that indicates a compressed SBML file (i.e., a filename ending in ".zip" or similar) when the compression functionality has not been enabled in the underlying copy of libSBML.
See also
SBMLWriter::hasZlib()
SBMLWriter::hasBzip2()
static int libsbmlcs.libsbml.writeSBMLToFile ( SBMLDocument  d,
string  filename 
)
static

Writes the given SBML document d to the file filename.

This convenience function is functionally equivalent to:

SBMLWriter_writeSBMLToFile(SBMLWriter_create(), d, filename);

but that does not require the caller to create an SBMLWriter object first.

If the given filename ends with the suffix ".gz" (for example, "myfile.xml.gz"), libSBML assumes the caller wants the file to be written compressed in gzip format. Similarly, if the given filename ends with ".zip" or ".bz2", libSBML assumes the caller wants the file to be compressed in zip or bzip2 format (respectively). Files whose names lack these suffixes will be written uncompressed. Special considerations for the zip format: If the given filename ends with ".zip", the file placed in the zip archive will have the suffix ".xml" or ".sbml". For example, the file in the zip archive will be named "test.xml" if the given filename is "test.xml.zip" or "test.zip". Similarly, the filename in the archive will be "test.sbml" if the given filename is "test.sbml.zip".
Parameters
dan SBMLDocument object to be written out in XML format.
filenamea string giving the path to a file where the XML content is to be written.
Returns
1 (true) on success and 0 (false) if filename could not be written. Some possible reasons for failure include (a) being unable to open the file, and (b) using a filename that indicates a compressed SBML file (i.e., a filename ending in ".zip" or similar) when the compression functionality has not been enabled in the underlying copy of libSBML.
See also
SBMLWriter::hasZlib()
SBMLWriter::hasBzip2()
static string libsbmlcs.libsbml.writeSBMLToString ( SBMLDocument  d)
static

Writes the given SBML document d to an in-memory string and returns a pointer to it.

The string is owned by the caller and should be freed (with free()) when no longer needed. This convenience function is functionally equivalent to:

SBMLWriter_writeSBMLToString(SBMLWriter_create(), d);

but does not require the caller to create an SBMLWriter object first.

Parameters
dan SBMLDocument object to be written out in XML format.
Returns
the string on success and null if one of the underlying parser components fail.

Member Data Documentation

const int libsbmlcs.libsbml.AllChecksON = 0x7f
const int libsbmlcs.libsbml.ALLOWED_CHILDREN_ANY = 0
const int libsbmlcs.libsbml.ALLOWED_CHILDREN_ATLEAST = ALLOWED_CHILDREN_ANY + 1
const int libsbmlcs.libsbml.ALLOWED_CHILDREN_EXACTLY = ALLOWED_CHILDREN_ATLEAST + 1
const int libsbmlcs.libsbml.ALLOWED_CHILDREN_UNKNOWN = ALLOWED_CHILDREN_EXACTLY + 1
const int libsbmlcs.libsbml.AllowedAttributesOnAlgRule = 20910
const int libsbmlcs.libsbml.AllowedAttributesOnAssignRule = 20908
const int libsbmlcs.libsbml.AllowedAttributesOnCompartment = 20517
const int libsbmlcs.libsbml.AllowedAttributesOnConstraint = 21009
const int libsbmlcs.libsbml.AllowedAttributesOnDelay = 21227
const int libsbmlcs.libsbml.AllowedAttributesOnEvent = 21225
const int libsbmlcs.libsbml.AllowedAttributesOnEventAssignment = 21214
const int libsbmlcs.libsbml.AllowedAttributesOnFunc = 20307
const int libsbmlcs.libsbml.AllowedAttributesOnInitialAssign = 20805
const int libsbmlcs.libsbml.AllowedAttributesOnKineticLaw = 21132
const int libsbmlcs.libsbml.AllowedAttributesOnListOfComps = 20225
const int libsbmlcs.libsbml.AllowedAttributesOnListOfConstraints = 20230
const int libsbmlcs.libsbml.AllowedAttributesOnListOfEventAssign = 21224
const int libsbmlcs.libsbml.AllowedAttributesOnListOfEvents = 20232
const int libsbmlcs.libsbml.AllowedAttributesOnListOfFuncs = 20223
const int libsbmlcs.libsbml.AllowedAttributesOnListOfInitAssign = 20228
const int libsbmlcs.libsbml.AllowedAttributesOnListOfLocalParam = 21129
const int libsbmlcs.libsbml.AllowedAttributesOnListOfMods = 21151
const int libsbmlcs.libsbml.AllowedAttributesOnListOfParams = 20227
const int libsbmlcs.libsbml.AllowedAttributesOnListOfReactions = 20231
const int libsbmlcs.libsbml.AllowedAttributesOnListOfRules = 20229
const int libsbmlcs.libsbml.AllowedAttributesOnListOfSpecies = 20226
const int libsbmlcs.libsbml.AllowedAttributesOnListOfSpeciesRef = 21150
const int libsbmlcs.libsbml.AllowedAttributesOnListOfUnitDefs = 20224
const int libsbmlcs.libsbml.AllowedAttributesOnListOfUnits = 20420
const int libsbmlcs.libsbml.AllowedAttributesOnLocalParameter = 21172
const int libsbmlcs.libsbml.AllowedAttributesOnModel = 20222
const int libsbmlcs.libsbml.AllowedAttributesOnModifier = 21117
const int libsbmlcs.libsbml.AllowedAttributesOnParameter = 20706
const int libsbmlcs.libsbml.AllowedAttributesOnPriority = 21232
const int libsbmlcs.libsbml.AllowedAttributesOnRateRule = 20909
const int libsbmlcs.libsbml.AllowedAttributesOnReaction = 21110
const int libsbmlcs.libsbml.AllowedAttributesOnSBML = 20108
const int libsbmlcs.libsbml.AllowedAttributesOnSpecies = 20623
const int libsbmlcs.libsbml.AllowedAttributesOnSpeciesReference = 21116
const int libsbmlcs.libsbml.AllowedAttributesOnTrigger = 21226
const int libsbmlcs.libsbml.AllowedAttributesOnUnit = 20421
const int libsbmlcs.libsbml.AllowedAttributesOnUnitDefinition = 20419
const int libsbmlcs.libsbml.AND_ASSOCIATION = 1
const int libsbmlcs.libsbml.AnnotationNotElement = 99406
const int libsbmlcs.libsbml.AnnotationNotesNotAllowedLevel1 = 99104
const int libsbmlcs.libsbml.ApplyCiMustBeModelComponent = 10215
const int libsbmlcs.libsbml.ApplyCiMustBeUserFunction = 10214
const int libsbmlcs.libsbml.ArgsToEqNeedSameType = 10211
const int libsbmlcs.libsbml.AssignmentToConstantEntity = 20903
const int libsbmlcs.libsbml.AssignRuleCompartmentMismatch = 10511
const int libsbmlcs.libsbml.AssignRuleParameterMismatch = 10513
const int libsbmlcs.libsbml.AssignRuleSpeciesMismatch = 10512
const int libsbmlcs.libsbml.AssignRuleStoichiometryMismatch = 10514
const int libsbmlcs.libsbml.AST_CONSTANT_E = AST_NAME_TIME + 1
const int libsbmlcs.libsbml.AST_CONSTANT_FALSE = AST_CONSTANT_E + 1
const int libsbmlcs.libsbml.AST_CONSTANT_PI = AST_CONSTANT_FALSE + 1
const int libsbmlcs.libsbml.AST_CONSTANT_TRUE = AST_CONSTANT_PI + 1
const int libsbmlcs.libsbml.AST_CSYMBOL_FUNCTION = 400
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_BERNOULLI = AST_DISTRIB_FUNCTION_UNIFORM + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_BINOMIAL = AST_DISTRIB_FUNCTION_BERNOULLI + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_CAUCHY = AST_DISTRIB_FUNCTION_BINOMIAL + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_CHISQUARE = AST_DISTRIB_FUNCTION_CAUCHY + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_EXPONENTIAL = AST_DISTRIB_FUNCTION_CHISQUARE + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_GAMMA = AST_DISTRIB_FUNCTION_EXPONENTIAL + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_LAPLACE = AST_DISTRIB_FUNCTION_GAMMA + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_LOGNORMAL = AST_DISTRIB_FUNCTION_LAPLACE + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_NORMAL = 500
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_POISSON = AST_DISTRIB_FUNCTION_LOGNORMAL + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_RAYLEIGH = AST_DISTRIB_FUNCTION_POISSON + 1
const int libsbmlcs.libsbml.AST_DISTRIB_FUNCTION_UNIFORM = AST_DISTRIB_FUNCTION_NORMAL + 1
const int libsbmlcs.libsbml.AST_DIVIDE = '/'
const int libsbmlcs.libsbml.AST_END_OF_CORE = 315
const int libsbmlcs.libsbml.AST_FUNCTION = AST_LAMBDA + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ABS = AST_FUNCTION + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOS = AST_FUNCTION_ABS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOSH = AST_FUNCTION_ARCCOS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOT = AST_FUNCTION_ARCCOSH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCOTH = AST_FUNCTION_ARCCOT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCSC = AST_FUNCTION_ARCCOTH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCCSCH = AST_FUNCTION_ARCCSC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSEC = AST_FUNCTION_ARCCSCH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSECH = AST_FUNCTION_ARCSEC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSIN = AST_FUNCTION_ARCSECH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCSINH = AST_FUNCTION_ARCSIN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCTAN = AST_FUNCTION_ARCSINH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ARCTANH = AST_FUNCTION_ARCTAN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CEILING = AST_FUNCTION_ARCTANH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COS = AST_FUNCTION_CEILING + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COSH = AST_FUNCTION_COS + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COT = AST_FUNCTION_COSH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_COTH = AST_FUNCTION_COT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CSC = AST_FUNCTION_COTH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_CSCH = AST_FUNCTION_CSC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_DELAY = AST_FUNCTION_CSCH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_EXP = AST_FUNCTION_DELAY + 1
const int libsbmlcs.libsbml.AST_FUNCTION_FACTORIAL = AST_FUNCTION_EXP + 1
const int libsbmlcs.libsbml.AST_FUNCTION_FLOOR = AST_FUNCTION_FACTORIAL + 1
const int libsbmlcs.libsbml.AST_FUNCTION_LN = AST_FUNCTION_FLOOR + 1
const int libsbmlcs.libsbml.AST_FUNCTION_LOG = AST_FUNCTION_LN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_MAX = 320
const int libsbmlcs.libsbml.AST_FUNCTION_MIN = AST_FUNCTION_MAX + 1
const int libsbmlcs.libsbml.AST_FUNCTION_PIECEWISE = AST_FUNCTION_LOG + 1
const int libsbmlcs.libsbml.AST_FUNCTION_POWER = AST_FUNCTION_PIECEWISE + 1
const int libsbmlcs.libsbml.AST_FUNCTION_QUOTIENT = AST_FUNCTION_MIN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_RATE_OF = AST_FUNCTION_QUOTIENT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_REM = AST_FUNCTION_RATE_OF + 1
const int libsbmlcs.libsbml.AST_FUNCTION_ROOT = AST_FUNCTION_POWER + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SEC = AST_FUNCTION_ROOT + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SECH = AST_FUNCTION_SEC + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SIN = AST_FUNCTION_SECH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_SINH = AST_FUNCTION_SIN + 1
const int libsbmlcs.libsbml.AST_FUNCTION_TAN = AST_FUNCTION_SINH + 1
const int libsbmlcs.libsbml.AST_FUNCTION_TANH = AST_FUNCTION_TAN + 1
const int libsbmlcs.libsbml.AST_INTEGER = 256
const int libsbmlcs.libsbml.AST_LAMBDA = AST_CONSTANT_TRUE + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_DETERMINANT = AST_LINEAR_ALGEBRA_MATRIXROW + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_MATRIX = AST_LINEAR_ALGEBRA_SELECTOR + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_MATRIXROW = AST_LINEAR_ALGEBRA_MATRIX + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_OUTER_PRODUCT = AST_LINEAR_ALGEBRA_SCALAR_PRODUCT + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_SCALAR_PRODUCT = AST_LINEAR_ALGEBRA_VECTOR_PRODUCT + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_SELECTOR = AST_LINEAR_ALGEBRA_VECTOR + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_TRANSPOSE = AST_LINEAR_ALGEBRA_DETERMINANT + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_VECTOR = AST_DISTRIB_FUNCTION_RAYLEIGH + 1
const int libsbmlcs.libsbml.AST_LINEAR_ALGEBRA_VECTOR_PRODUCT = AST_LINEAR_ALGEBRA_TRANSPOSE + 1
const int libsbmlcs.libsbml.AST_LOGICAL_AND = AST_FUNCTION_TANH + 1
const int libsbmlcs.libsbml.AST_LOGICAL_EXISTS = AST_LINEAR_ALGEBRA_OUTER_PRODUCT + 1
const int libsbmlcs.libsbml.AST_LOGICAL_FORALL = AST_LOGICAL_EXISTS + 1
const int libsbmlcs.libsbml.AST_LOGICAL_IMPLIES = AST_FUNCTION_REM + 1
const int libsbmlcs.libsbml.AST_LOGICAL_NOT = AST_LOGICAL_AND + 1
const int libsbmlcs.libsbml.AST_LOGICAL_OR = AST_LOGICAL_NOT + 1
const int libsbmlcs.libsbml.AST_LOGICAL_XOR = AST_LOGICAL_OR + 1
const int libsbmlcs.libsbml.AST_MINUS = '-'
const int libsbmlcs.libsbml.AST_NAME = AST_RATIONAL + 1
const int libsbmlcs.libsbml.AST_NAME_AVOGADRO = AST_NAME + 1
const int libsbmlcs.libsbml.AST_NAME_TIME = AST_NAME_AVOGADRO + 1
const int libsbmlcs.libsbml.AST_PLUS = '+'
const int libsbmlcs.libsbml.AST_POWER = '^'
const int libsbmlcs.libsbml.AST_RATIONAL = AST_REAL_E + 1
const int libsbmlcs.libsbml.AST_REAL = AST_INTEGER + 1
const int libsbmlcs.libsbml.AST_REAL_E = AST_REAL + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_EQ = AST_LOGICAL_XOR + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_GEQ = AST_RELATIONAL_EQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_GT = AST_RELATIONAL_GEQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_LEQ = AST_RELATIONAL_GT + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_LT = AST_RELATIONAL_LEQ + 1
const int libsbmlcs.libsbml.AST_RELATIONAL_NEQ = AST_RELATIONAL_LT + 1
const int libsbmlcs.libsbml.AST_SERIES_PRODUCT = AST_STATISTICS_MOMENT + 1
const int libsbmlcs.libsbml.AST_SERIES_SUM = AST_STATISTICS_SDEV + 1
const int libsbmlcs.libsbml.AST_STATISTICS_MEAN = AST_LOGICAL_FORALL + 1
const int libsbmlcs.libsbml.AST_STATISTICS_MEDIAN = AST_STATISTICS_MEAN + 1
const int libsbmlcs.libsbml.AST_STATISTICS_MODE = AST_STATISTICS_MEDIAN + 1
const int libsbmlcs.libsbml.AST_STATISTICS_MOMENT = AST_STATISTICS_MODE + 1
const int libsbmlcs.libsbml.AST_STATISTICS_SDEV = AST_SERIES_PRODUCT + 1
const int libsbmlcs.libsbml.AST_STATISTICS_VARIANCE = AST_SERIES_SUM + 1
const int libsbmlcs.libsbml.AST_TIMES = '*'
const int libsbmlcs.libsbml.AST_UNKNOWN = AST_STATISTICS_VARIANCE + 1
const int libsbmlcs.libsbml.AvogadroNotSupported = 91020
const int libsbmlcs.libsbml.BadCsymbolDefinitionURLValue = 10205
const int libsbmlcs.libsbml.BadlyFormedXML = 1006
const int libsbmlcs.libsbml.BadMathML = 99219
const int libsbmlcs.libsbml.BadMathMLNodeType = 99224
const int libsbmlcs.libsbml.BadProcessingInstruction = 1012
const int libsbmlcs.libsbml.BadXMLAttribute = 1020
const int libsbmlcs.libsbml.BadXMLAttributeValue = 1019
const int libsbmlcs.libsbml.BadXMLComment = 1022
const int libsbmlcs.libsbml.BadXMLDecl = 1003
const int libsbmlcs.libsbml.BadXMLDeclLocation = 1023
const int libsbmlcs.libsbml.BadXMLDOCTYPE = 1004
const int libsbmlcs.libsbml.BadXMLDocumentStructure = 1028
const int libsbmlcs.libsbml.BadXMLIDRef = 1026
const int libsbmlcs.libsbml.BadXMLIDValue = 1025
const int libsbmlcs.libsbml.BadXMLPrefix = 1013
const int libsbmlcs.libsbml.BadXMLPrefixValue = 1014
const int libsbmlcs.libsbml.BIOLOGICAL_QUALIFIER = MODEL_QUALIFIER + 1
const int libsbmlcs.libsbml.BooleanNumericDiscrepancy = 98006
const int libsbmlcs.libsbml.BooleanOpsNeedBooleanArgs = 10209
const int libsbmlcs.libsbml.BothAmountAndConcentrationSet = 20609
const int libsbmlcs.libsbml.BothStoichiometryAndMath = 21113
const int libsbmlcs.libsbml.BQB_ENCODES = BQB_IS_ENCODED_BY + 1
const int libsbmlcs.libsbml.BQB_HAS_PART = BQB_IS + 1
const int libsbmlcs.libsbml.BQB_HAS_PROPERTY = BQB_OCCURS_IN + 1
const int libsbmlcs.libsbml.BQB_HAS_TAXON = BQB_IS_PROPERTY_OF + 1
const int libsbmlcs.libsbml.BQB_HAS_VERSION = BQB_IS_VERSION_OF + 1
const int libsbmlcs.libsbml.BQB_IS = 0
const int libsbmlcs.libsbml.BQB_IS_DESCRIBED_BY = BQB_IS_HOMOLOG_TO + 1
const int libsbmlcs.libsbml.BQB_IS_ENCODED_BY = BQB_IS_DESCRIBED_BY + 1
const int libsbmlcs.libsbml.BQB_IS_HOMOLOG_TO = BQB_HAS_VERSION + 1
const int libsbmlcs.libsbml.BQB_IS_PART_OF = BQB_HAS_PART + 1
const int libsbmlcs.libsbml.BQB_IS_PROPERTY_OF = BQB_HAS_PROPERTY + 1
const int libsbmlcs.libsbml.BQB_IS_VERSION_OF = BQB_IS_PART_OF + 1
const int libsbmlcs.libsbml.BQB_OCCURS_IN = BQB_ENCODES + 1
const int libsbmlcs.libsbml.BQB_UNKNOWN = BQB_HAS_TAXON + 1
const int libsbmlcs.libsbml.BQM_HAS_INSTANCE = BQM_IS_INSTANCE_OF + 1
const int libsbmlcs.libsbml.BQM_IS = 0
const int libsbmlcs.libsbml.BQM_IS_DERIVED_FROM = BQM_IS_DESCRIBED_BY + 1
const int libsbmlcs.libsbml.BQM_IS_DESCRIBED_BY = BQM_IS + 1
const int libsbmlcs.libsbml.BQM_IS_INSTANCE_OF = BQM_IS_DERIVED_FROM + 1
const int libsbmlcs.libsbml.BQM_UNKNOWN = BQM_HAS_INSTANCE + 1
const int libsbmlcs.libsbml.CannotConvertToL1V1 = 90001
const int libsbmlcs.libsbml.CannotVerifyUnitsObjectNoMath = 99509
const int libsbmlcs.libsbml.CelsiusNoLongerValid = 20412
readonly OStream libsbmlcs.libsbml.cerr = new OStream(OStream.CERR)
static
const int libsbmlcs.libsbml.CiCannotReference0DCompartment = 10222
const int libsbmlcs.libsbml.CircularDependencyRateOf = 20912
const int libsbmlcs.libsbml.CircularRuleDependency = 20906
readonly OStream libsbmlcs.libsbml.clog = new OStream(OStream.CLOG)
static
const int libsbmlcs.libsbml.CNV_TYPE_BOOL = 0
const int libsbmlcs.libsbml.CNV_TYPE_DOUBLE = CNV_TYPE_BOOL + 1
const int libsbmlcs.libsbml.CNV_TYPE_INT = CNV_TYPE_DOUBLE + 1
const int libsbmlcs.libsbml.CNV_TYPE_SINGLE = CNV_TYPE_INT + 1
const int libsbmlcs.libsbml.CNV_TYPE_STRING = CNV_TYPE_SINGLE + 1
const int libsbmlcs.libsbml.CompartmentNotOnL1Reaction = 91016
const int libsbmlcs.libsbml.CompartmentOnReaction = 21107
const int libsbmlcs.libsbml.CompartmentShouldHaveSize = 80501
const int libsbmlcs.libsbml.CompartmentTypeNotValidAttribute = 99902
const int libsbmlcs.libsbml.CompartmentTypeNotValidComponent = 99908
const int libsbmlcs.libsbml.CompAttributeRequiredMissing = 1020201
const int libsbmlcs.libsbml.CompAttributeRequiredMustBeBoolean = 1020202
const int libsbmlcs.libsbml.CompAttributeRequiredMustBeTrue = 1020212
const int libsbmlcs.libsbml.CompCircularExternalModelReference = 1020310
const int libsbmlcs.libsbml.CompDeletedReplacement = 1090114
const int libsbmlcs.libsbml.CompDeletionAllowedAttributes = 1020903
const int libsbmlcs.libsbml.CompDeletionMustReferenceObject = 1020901
const int libsbmlcs.libsbml.CompDeletionMustReferOnlyOneObject = 1020902
const int libsbmlcs.libsbml.CompDeprecatedDeleteFunction = 1090112
const int libsbmlcs.libsbml.CompDeprecatedReplaceFunction = 1090113
const int libsbmlcs.libsbml.CompDeprecatedSBaseRefSpelling = 1020711
const int libsbmlcs.libsbml.CompDuplicateComponentId = 1010301
const int libsbmlcs.libsbml.CompElementNotInNs = 1010102
const int libsbmlcs.libsbml.CompEmptyLOModelDefs = 1020206
const int libsbmlcs.libsbml.CompEmptyLOReplacedElements = 1020104
const int libsbmlcs.libsbml.CompExtentConversionMustBeParameter = 1020623
const int libsbmlcs.libsbml.CompExtModDefAllowedAttributes = 1020303
const int libsbmlcs.libsbml.CompExtModDefAllowedCoreAttributes = 1020301
const int libsbmlcs.libsbml.CompExtModDefAllowedElements = 1020302
const int libsbmlcs.libsbml.CompExtModDefBad = 1090103
const int libsbmlcs.libsbml.CompExtModMd5DoesNotMatch = 1020306
const int libsbmlcs.libsbml.CompFlatModelNotValid = 1090105
const int libsbmlcs.libsbml.CompFlatteningNotImplementedNotReqd = 1090109
const int libsbmlcs.libsbml.CompFlatteningNotImplementedReqd = 1090110
const int libsbmlcs.libsbml.CompFlatteningNotRecognisedNotReqd = 1090108
const int libsbmlcs.libsbml.CompFlatteningNotRecognisedReqd = 1090107
const int libsbmlcs.libsbml.CompFlatteningWarning = 1090111
const int libsbmlcs.libsbml.CompIdRefMayReferenceUnknownPackage = 1090115
const int libsbmlcs.libsbml.CompIdRefMustReferenceObject = 1020702
const int libsbmlcs.libsbml.CompInvalidConversionFactorSyntax = 1010310
const int libsbmlcs.libsbml.CompInvalidDeletionSyntax = 1010309
const int libsbmlcs.libsbml.CompInvalidExtentConvFactorSyntax = 1020614
const int libsbmlcs.libsbml.CompInvalidIdRefSyntax = 1020707
const int libsbmlcs.libsbml.CompInvalidMD5Syntax = 1020309
const int libsbmlcs.libsbml.CompInvalidMetaIdRefSyntax = 1020709
const int libsbmlcs.libsbml.CompInvalidModelRefSyntax = 1020308
const int libsbmlcs.libsbml.CompInvalidNameSyntax = 1010311
const int libsbmlcs.libsbml.CompInvalidPortRefSyntax = 1020706
const int libsbmlcs.libsbml.CompInvalidSIdSyntax = 1010304
const int libsbmlcs.libsbml.CompInvalidSourceSyntax = 1020307
const int libsbmlcs.libsbml.CompInvalidSubmodelRefSyntax = 1010308
const int libsbmlcs.libsbml.CompInvalidTimeConvFactorSyntax = 1020613
const int libsbmlcs.libsbml.CompInvalidUnitRefSyntax = 1020708
const int libsbmlcs.libsbml.CompLineNumbersUnreliable = 1090106
const int libsbmlcs.libsbml.CompLODeletionAllowedAttributes = 1020606
const int libsbmlcs.libsbml.CompLODeletionsAllowedElements = 1020605
const int libsbmlcs.libsbml.CompLOExtModDefsAllowedAttributes = 1020210
const int libsbmlcs.libsbml.CompLOExtModelDefsAllowedElements = 1020208
const int libsbmlcs.libsbml.CompLOModelDefsAllowedAttributes = 1020209
const int libsbmlcs.libsbml.CompLOModelDefsAllowedElements = 1020207
const int libsbmlcs.libsbml.CompLOPortsAllowedAttributes = 1020506
const int libsbmlcs.libsbml.CompLOPortsAllowedElements = 1020504
const int libsbmlcs.libsbml.CompLOReplacedElementsAllowedAttribs = 1020103
const int libsbmlcs.libsbml.CompLOReplaceElementsAllowedElements = 1020102
const int libsbmlcs.libsbml.CompLOSubmodelsAllowedAttributes = 1020505
const int libsbmlcs.libsbml.CompLOSubmodelsAllowedElements = 1020503
const int libsbmlcs.libsbml.CompMetaIdRefMayReferenceUnknownPkg = 1090116
const int libsbmlcs.libsbml.CompMetaIdRefMustReferenceObject = 1020704
const int libsbmlcs.libsbml.CompModCannotCircularlyReferenceSelf = 1020617
const int libsbmlcs.libsbml.CompModelFlatteningFailed = 1090104
const int libsbmlcs.libsbml.CompModReferenceMustIdOfModel = 1020305
const int libsbmlcs.libsbml.CompModReferenceSyntax = 1020608
const int libsbmlcs.libsbml.CompMustReplaceIDs = 1021202
const int libsbmlcs.libsbml.CompMustReplaceMetaIDs = 1021203
const int libsbmlcs.libsbml.CompMustReplacePackageIDs = 1021204
const int libsbmlcs.libsbml.CompMustReplaceSameClass = 1021201
const int libsbmlcs.libsbml.CompNoEmptyListOfOnModel = 1020502
const int libsbmlcs.libsbml.CompNoModelInReference = 1090102
const int libsbmlcs.libsbml.CompNoMultipleReferences = 1020714
const int libsbmlcs.libsbml.CompNSUndeclared = 1010101
const int libsbmlcs.libsbml.CompOneListOfDeletionOnSubmodel = 1020603
const int libsbmlcs.libsbml.CompOneListOfExtModelDefinitions = 1020211
const int libsbmlcs.libsbml.CompOneListOfModelDefinitions = 1020205
const int libsbmlcs.libsbml.CompOneListOfOnModel = 1020501
const int libsbmlcs.libsbml.CompOneListOfReplacedElements = 1020101
const int libsbmlcs.libsbml.CompOneReplacedByElement = 1020105
const int libsbmlcs.libsbml.CompOneSBaseRefOnly = 1020710
const int libsbmlcs.libsbml.CompParentOfSBRefChildMustBeSubmodel = 1020705
const int libsbmlcs.libsbml.CompPortAllowedAttributes = 1020803
const int libsbmlcs.libsbml.CompPortMustReferenceObject = 1020801
const int libsbmlcs.libsbml.CompPortMustReferenceOnlyOneObject = 1020802
const int libsbmlcs.libsbml.CompPortReferencesUnique = 1020804
const int libsbmlcs.libsbml.CompPortRefMustReferencePort = 1020701
const int libsbmlcs.libsbml.CompReferenceMustBeL3 = 1020304
const int libsbmlcs.libsbml.CompReplacedByAllowedAttributes = 1021103
const int libsbmlcs.libsbml.CompReplacedByMustRefObject = 1021101
const int libsbmlcs.libsbml.CompReplacedByMustRefOnlyOne = 1021102
const int libsbmlcs.libsbml.CompReplacedBySubModelRef = 1021104
const int libsbmlcs.libsbml.CompReplacedElementAllowedAttributes = 1021003
const int libsbmlcs.libsbml.CompReplacedElementConvFactorRef = 1021006
const int libsbmlcs.libsbml.CompReplacedElementDeletionRef = 1021005
const int libsbmlcs.libsbml.CompReplacedElementMustRefObject = 1021001
const int libsbmlcs.libsbml.CompReplacedElementMustRefOnlyOne = 1021002
const int libsbmlcs.libsbml.CompReplacedElementNoDelAndConvFact = 1021011
const int libsbmlcs.libsbml.CompReplacedElementSameReference = 1021010
const int libsbmlcs.libsbml.CompReplacedElementSubModelRef = 1021004
const int libsbmlcs.libsbml.CompReplacedUnitsShouldMatch = 1010501
const int libsbmlcs.libsbml.CompRequiredFalseIfAllElementsReplaced = 1020204
const int libsbmlcs.libsbml.CompRequiredTrueIfElementsRemain = 1020203
const int libsbmlcs.libsbml.CompSBaseRefMustReferenceObject = 1020712
const int libsbmlcs.libsbml.CompSBaseRefMustReferenceOnlyOneObject = 1020713
const int libsbmlcs.libsbml.CompSubmodelAllowedAttributes = 1020607
const int libsbmlcs.libsbml.CompSubmodelAllowedCoreAttributes = 1020601
const int libsbmlcs.libsbml.CompSubmodelAllowedElements = 1020602
const int libsbmlcs.libsbml.CompSubmodelCannotReferenceSelf = 1020616
const int libsbmlcs.libsbml.CompSubmodelMustReferenceModel = 1020615
const int libsbmlcs.libsbml.CompSubmodelNoEmptyLODeletions = 1020604
const int libsbmlcs.libsbml.CompTimeConversionMustBeParameter = 1020622
const int libsbmlcs.libsbml.CompUniqueModelIds = 1010302
const int libsbmlcs.libsbml.CompUniquePortIds = 1010303
const int libsbmlcs.libsbml.CompUnitRefMustReferenceUnitDef = 1020703
const int libsbmlcs.libsbml.CompUnknown = 1010100
const int libsbmlcs.libsbml.CompUnresolvedReference = 1090101
const int libsbmlcs.libsbml.ConstantNotValidAttribute = 99903
const int libsbmlcs.libsbml.ConstantSpeciesNotValidAttribute = 99916
const int libsbmlcs.libsbml.ConstraintContainsDOCTYPE = 21005
const int libsbmlcs.libsbml.ConstraintContainsXMLDecl = 21004
const int libsbmlcs.libsbml.ConstraintMathNotBoolean = 21001
const int libsbmlcs.libsbml.ConstraintNotInXHTMLNamespace = 21003
const int libsbmlcs.libsbml.ConstraintNotValidComponent = 99909
const int libsbmlcs.libsbml.ConversionFactorMustConstant = 20705
const int libsbmlcs.libsbml.ConversionFactorNotInL1 = 91015
const int libsbmlcs.libsbml.ConversionFactorOnSpecies = 20617
const int libsbmlcs.libsbml.ConvertibleMathInitialAssignment = 98009
readonly OStream libsbmlcs.libsbml.cout = new OStream(OStream.COUT)
static
const int libsbmlcs.libsbml.DanglingUnitReference = 10313
const int libsbmlcs.libsbml.DanglingUnitSIdRef = 99303
const int libsbmlcs.libsbml.DelayNeedsValuesFromTriggerTime = 21207
const int libsbmlcs.libsbml.DelayUnitsNotTime = 10551
const int libsbmlcs.libsbml.DisallowedDefinitionURLUse = 10204
const int libsbmlcs.libsbml.DisallowedMathMLEncodingUse = 10203
const int libsbmlcs.libsbml.DisallowedMathMLSymbol = 10202
const int libsbmlcs.libsbml.DisallowedMathTypeAttributeUse = 10206
const int libsbmlcs.libsbml.DisallowedMathTypeAttributeValue = 10207
const int libsbmlcs.libsbml.DisallowedMathUnitsUse = 10220
const int libsbmlcs.libsbml.DoubleExponentNotSupported = 98001
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v2 = 93009
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v3 = 94010
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL2v4 = 95007
const int libsbmlcs.libsbml.DuplicateAnnotationInvalidInL3v1 = 96009
const int libsbmlcs.libsbml.DuplicateAnnotationNamespaces = 10402
const int libsbmlcs.libsbml.DuplicateComponentId = 10301
const int libsbmlcs.libsbml.DuplicateLocalParameterId = 10303
const int libsbmlcs.libsbml.DuplicateMetaId = 10307
const int libsbmlcs.libsbml.DuplicateUnitDefinitionId = 10302
const int libsbmlcs.libsbml.DuplicateXMLAttribute = 1010
const int libsbmlcs.libsbml.EM_ARRAYS = EM_DISTRIB + 1
const int libsbmlcs.libsbml.EM_DISTRIB = EM_L3V2 + 1
const int libsbmlcs.libsbml.EM_L3V2 = 0
const int libsbmlcs.libsbml.EM_UNKNOWN = EM_ARRAYS + 1
const int libsbmlcs.libsbml.EmptyListElement = 20203
const int libsbmlcs.libsbml.EmptyListInKineticLaw = 21123
const int libsbmlcs.libsbml.EmptyListInReaction = 21103
const int libsbmlcs.libsbml.EmptyListOfElementNotSupported = 98003
const int libsbmlcs.libsbml.EmptyListOfUnits = 20409
const int libsbmlcs.libsbml.EmptyUnitListElement = 20413
const int libsbmlcs.libsbml.EventAndAssignmentRuleForId = 10306
const int libsbmlcs.libsbml.EventAssignCompartmentMismatch = 10561
const int libsbmlcs.libsbml.EventAssignmentForConstantEntity = 21212
const int libsbmlcs.libsbml.EventAssignParameterMismatch = 10563
const int libsbmlcs.libsbml.EventAssignSpeciesMismatch = 10562
const int libsbmlcs.libsbml.EventAssignStoichiometryMismatch = 10564
const int libsbmlcs.libsbml.EventNotValidComponent = 99910
const int libsbmlcs.libsbml.ExtentUnitsNotSubstance = 91017
const int libsbmlcs.libsbml.FailedMathMLReadOfDouble = 99220
const int libsbmlcs.libsbml.FailedMathMLReadOfExponential = 99222
const int libsbmlcs.libsbml.FailedMathMLReadOfInteger = 99221
const int libsbmlcs.libsbml.FailedMathMLReadOfRational = 99223
const int libsbmlcs.libsbml.FastReactionsNotSupported = 98010
const int libsbmlcs.libsbml.FbcActiveObjectiveRefersObjective = 2020208
const int libsbmlcs.libsbml.FbcActiveObjectiveSyntax = 2020207
const int libsbmlcs.libsbml.FbcAndAllowedCoreAttributes = 2021001
const int libsbmlcs.libsbml.FbcAndAllowedCoreElements = 2021002
const int libsbmlcs.libsbml.FbcAndTwoChildren = 2021003
const int libsbmlcs.libsbml.FbcAttributeRequiredMissing = 2020101
const int libsbmlcs.libsbml.FbcAttributeRequiredMustBeBoolean = 2020102
const int libsbmlcs.libsbml.FbcDuplicateComponentId = 2010301
const int libsbmlcs.libsbml.FbcElementNotInNs = 2010102
const int libsbmlcs.libsbml.FbcFluxBoundAllowedElements = 2020402
const int libsbmlcs.libsbml.FbcFluxBoundAllowedL3Attributes = 2020401
const int libsbmlcs.libsbml.FbcFluxBoundNameMustBeString = 2020405
const int libsbmlcs.libsbml.FbcFluxBoundOperationMustBeEnum = 2020406
const int libsbmlcs.libsbml.FbcFluxBoundReactionMustExist = 2020408
const int libsbmlcs.libsbml.FbcFluxBoundRectionMustBeSIdRef = 2020404
const int libsbmlcs.libsbml.FbcFluxBoundRequiredAttributes = 2020403
const int libsbmlcs.libsbml.FbcFluxBoundsForReactionConflict = 2020409
const int libsbmlcs.libsbml.FbcFluxBoundValueMustBeDouble = 2020407
const int libsbmlcs.libsbml.FbcFluxObjectAllowedElements = 2020602
const int libsbmlcs.libsbml.FbcFluxObjectAllowedL3Attributes = 2020601
const int libsbmlcs.libsbml.FbcFluxObjectCoefficientMustBeDouble = 2020607
const int libsbmlcs.libsbml.FbcFluxObjectCoefficientWhenStrict = 2020608
const int libsbmlcs.libsbml.FbcFluxObjectNameMustBeString = 2020604
const int libsbmlcs.libsbml.FbcFluxObjectReactionMustBeSIdRef = 2020605
const int libsbmlcs.libsbml.FbcFluxObjectReactionMustExist = 2020606
const int libsbmlcs.libsbml.FbcFluxObjectRequiredAttributes = 2020603
const int libsbmlcs.libsbml.FbcGeneProdAssocAllowedAttribs = 2020803
const int libsbmlcs.libsbml.FbcGeneProdAssocAllowedCoreAttribs = 2020801
const int libsbmlcs.libsbml.FbcGeneProdAssocAllowedCoreElements = 2020802
const int libsbmlcs.libsbml.FbcGeneProdAssocContainsOneElement = 2020805
const int libsbmlcs.libsbml.FbcGeneProdAssocIdSyntax = 2020804
const int libsbmlcs.libsbml.FbcGeneProdAssocNameMustBeString = 2020806
const int libsbmlcs.libsbml.FbcGeneProdRefAllowedAttribs = 2020903
const int libsbmlcs.libsbml.FbcGeneProdRefAllowedCoreAttribs = 2020901
const int libsbmlcs.libsbml.FbcGeneProdRefAllowedCoreElements = 2020902
const int libsbmlcs.libsbml.FbcGeneProdRefGeneProductExists = 2020908
const int libsbmlcs.libsbml.FbcGeneProdRefGeneProductSIdRef = 2020904
const int libsbmlcs.libsbml.FbcGeneProductAllowedAttributes = 2021203
const int libsbmlcs.libsbml.FbcGeneProductAllowedCoreAttributes = 2021201
const int libsbmlcs.libsbml.FbcGeneProductAllowedCoreElements = 2021202
const int libsbmlcs.libsbml.FbcGeneProductAssocSpeciesMustExist = 2021207
const int libsbmlcs.libsbml.FbcGeneProductLabelMustBeString = 2021204
const int libsbmlcs.libsbml.FbcGeneProductLabelMustBeUnique = 2021205
const int libsbmlcs.libsbml.FbcGeneProductNameMustBeString = 2021206
const int libsbmlcs.libsbml.FbcLOFluxBoundsAllowedAttributes = 2020205
const int libsbmlcs.libsbml.FbcLOFluxBoundsAllowedElements = 2020203
const int libsbmlcs.libsbml.FbcLOGeneProductsAllowedAttributes = 2020212
const int libsbmlcs.libsbml.FbcLOGeneProductsAllowedElements = 2020211
const int libsbmlcs.libsbml.FbcLOObjectivesAllowedAttributes = 2020206
const int libsbmlcs.libsbml.FbcLOObjectivesAllowedElements = 2020204
const int libsbmlcs.libsbml.FbcModelMustHaveStrict = 2020209
const int libsbmlcs.libsbml.FbcModelStrictMustBeBoolean = 2020210
const int libsbmlcs.libsbml.FbcNoEmptyListOfs = 2020202
const int libsbmlcs.libsbml.FbcNSUndeclared = 2010101
const int libsbmlcs.libsbml.FbcObjectiveAllowedElements = 2020502
const int libsbmlcs.libsbml.FbcObjectiveAllowedL3Attributes = 2020501
const int libsbmlcs.libsbml.FbcObjectiveLOFluxObjAllowedAttribs = 2020509
const int libsbmlcs.libsbml.FbcObjectiveLOFluxObjMustNotBeEmpty = 2020507
const int libsbmlcs.libsbml.FbcObjectiveLOFluxObjOnlyFluxObj = 2020508
const int libsbmlcs.libsbml.FbcObjectiveNameMustBeString = 2020504
const int libsbmlcs.libsbml.FbcObjectiveOneListOfObjectives = 2020506
const int libsbmlcs.libsbml.FbcObjectiveRequiredAttributes = 2020503
const int libsbmlcs.libsbml.FbcObjectiveTypeMustBeEnum = 2020505
const int libsbmlcs.libsbml.FbcOnlyOneEachListOf = 2020201
const int libsbmlcs.libsbml.FbcOrAllowedCoreAttributes = 2021101
const int libsbmlcs.libsbml.FbcOrAllowedCoreElements = 2021102
const int libsbmlcs.libsbml.FbcOrTwoChildren = 2021103
const int libsbmlcs.libsbml.FbcReactionAllowedAttributes = 2020702
const int libsbmlcs.libsbml.FbcReactionBoundsMustHaveValuesStrict = 2020709
const int libsbmlcs.libsbml.FbcReactionBoundsNotAssignedStrict = 2020710
const int libsbmlcs.libsbml.FbcReactionConstantBoundsStrict = 2020708
const int libsbmlcs.libsbml.FbcReactionLwrBoundNotInfStrict = 2020711
const int libsbmlcs.libsbml.FbcReactionLwrBoundRefExists = 2020705
const int libsbmlcs.libsbml.FbcReactionLwrBoundSIdRef = 2020703
const int libsbmlcs.libsbml.FbcReactionLwrLessThanUpStrict = 2020713
const int libsbmlcs.libsbml.FbcReactionMustHaveBoundsStrict = 2020707
const int libsbmlcs.libsbml.FbcReactionOnlyOneGeneProdAss = 2020701
const int libsbmlcs.libsbml.FbcReactionUpBoundNotNegInfStrict = 2020712
const int libsbmlcs.libsbml.FbcReactionUpBoundRefExists = 2020706
const int libsbmlcs.libsbml.FbcReactionUpBoundSIdRef = 2020704
const int libsbmlcs.libsbml.FbcRequiredFalse = 2020103
const int libsbmlcs.libsbml.FbcSBMLSIdSyntax = 2010302
const int libsbmlcs.libsbml.FbcSpeciesAllowedL3Attributes = 2020301
const int libsbmlcs.libsbml.FbcSpeciesChargeMustBeInteger = 2020302
const int libsbmlcs.libsbml.FbcSpeciesFormulaMustBeString = 2020303
const int libsbmlcs.libsbml.FbcSpeciesReferenceConstantStrict = 2020714
const int libsbmlcs.libsbml.FbcSpeciesRefNotAssignedStrict = 2020716
const int libsbmlcs.libsbml.FbcSpeciesRefsStoichMustBeRealStrict = 2020715
const int libsbmlcs.libsbml.FbcUnknown = 2010100
const int libsbmlcs.libsbml.FILL_RULE_EVENODD = FILL_RULE_NONZERO + 1
const int libsbmlcs.libsbml.FILL_RULE_INHERIT = FILL_RULE_EVENODD + 1
const int libsbmlcs.libsbml.FILL_RULE_INVALID = FILL_RULE_INHERIT + 1
const int libsbmlcs.libsbml.FILL_RULE_NONZERO = FILL_RULE_UNSET + 1
const int libsbmlcs.libsbml.FILL_RULE_UNSET = 0
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_EQUAL = FLUXBOUND_OPERATION_GREATER + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_GREATER = FLUXBOUND_OPERATION_LESS + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_GREATER_EQUAL = FLUXBOUND_OPERATION_LESS_EQUAL + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_LESS = FLUXBOUND_OPERATION_GREATER_EQUAL + 1
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_LESS_EQUAL = 0
const int libsbmlcs.libsbml.FLUXBOUND_OPERATION_UNKNOWN = FLUXBOUND_OPERATION_EQUAL + 1
const int libsbmlcs.libsbml.FONT_FAMILY_INVALID = FONT_FAMILY_MONOSPACE + 1
const int libsbmlcs.libsbml.FONT_FAMILY_MONOSPACE = FONT_FAMILY_SANS_SERIF + 1
const int libsbmlcs.libsbml.FONT_FAMILY_SANS_SERIF = FONT_FAMILY_SERIF + 1
const int libsbmlcs.libsbml.FONT_FAMILY_SERIF = 0
const int libsbmlcs.libsbml.FONT_STYLE_INVALID = FONT_STYLE_ITALIC + 1
const int libsbmlcs.libsbml.FONT_STYLE_ITALIC = FONT_STYLE_NORMAL + 1
const int libsbmlcs.libsbml.FONT_STYLE_NORMAL = FONT_STYLE_UNSET + 1
const int libsbmlcs.libsbml.FONT_STYLE_UNSET = 0
const int libsbmlcs.libsbml.FONT_WEIGHT_BOLD = FONT_WEIGHT_NORMAL + 1
const int libsbmlcs.libsbml.FONT_WEIGHT_INVALID = FONT_WEIGHT_BOLD + 1
const int libsbmlcs.libsbml.FONT_WEIGHT_NORMAL = FONT_WEIGHT_UNSET + 1
const int libsbmlcs.libsbml.FONT_WEIGHT_UNSET = 0
const int libsbmlcs.libsbml.FormulaInLevel1KL = 99129
const int libsbmlcs.libsbml.FuncDefNotValidComponent = 99912
const int libsbmlcs.libsbml.FunctionDefMathNotLambda = 20301
const int libsbmlcs.libsbml.GENE_ASSOCIATION = 0
const int libsbmlcs.libsbml.GeneralWarningNotSpecified = 29999
const int libsbmlcs.libsbml.GlobalUnitsNotDeclared = 91018
const int libsbmlcs.libsbml.GRADIENT_SPREAD_METHOD_INVALID = GRADIENT_SPREADMETHOD_REPEAT + 1
const int libsbmlcs.libsbml.GRADIENT_SPREADMETHOD_PAD = 0
const int libsbmlcs.libsbml.GRADIENT_SPREADMETHOD_REFLECT = GRADIENT_SPREADMETHOD_PAD + 1
const int libsbmlcs.libsbml.GRADIENT_SPREADMETHOD_REPEAT = GRADIENT_SPREADMETHOD_REFLECT + 1
const int libsbmlcs.libsbml.GROUP_KIND_CLASSIFICATION = 0
const int libsbmlcs.libsbml.GROUP_KIND_COLLECTION = GROUP_KIND_PARTONOMY + 1
const int libsbmlcs.libsbml.GROUP_KIND_PARTONOMY = GROUP_KIND_CLASSIFICATION + 1
const int libsbmlcs.libsbml.GROUP_KIND_UNKNOWN = GROUP_KIND_COLLECTION + 1
const int libsbmlcs.libsbml.GroupsAttributeRequiredMissing = 4020101
const int libsbmlcs.libsbml.GroupsAttributeRequiredMustBeBoolean = 4020102
const int libsbmlcs.libsbml.GroupsAttributeRequiredMustHaveValue = 4020103
const int libsbmlcs.libsbml.GroupsDuplicateComponentId = 4010301
const int libsbmlcs.libsbml.GroupsElementNotInNs = 4010102
const int libsbmlcs.libsbml.GroupsGroupAllowedAttributes = 4020303
const int libsbmlcs.libsbml.GroupsGroupAllowedCoreAttributes = 4020301
const int libsbmlcs.libsbml.GroupsGroupAllowedCoreElements = 4020302
const int libsbmlcs.libsbml.GroupsGroupAllowedElements = 4020304
const int libsbmlcs.libsbml.GroupsGroupEmptyLOElements = 4020307
const int libsbmlcs.libsbml.GroupsGroupKindMustBeGroupKindEnum = 4020305
const int libsbmlcs.libsbml.GroupsGroupLOMembersAllowedAttributes = 4020310
const int libsbmlcs.libsbml.GroupsGroupLOMembersAllowedCoreAttributes = 4020309
const int libsbmlcs.libsbml.GroupsGroupLOMembersAllowedCoreElements = 4020308
const int libsbmlcs.libsbml.GroupsGroupNameMustBeString = 4020306
const int libsbmlcs.libsbml.GroupsIdSyntaxRule = 4010302
const int libsbmlcs.libsbml.GroupsLOMembersConsistentReferences = 4020312
const int libsbmlcs.libsbml.GroupsLOMembersNameMustBeString = 4020311
const int libsbmlcs.libsbml.GroupsMemberAllowedAttributes = 4020403
const int libsbmlcs.libsbml.GroupsMemberAllowedCoreAttributes = 4020401
const int libsbmlcs.libsbml.GroupsMemberAllowedCoreElements = 4020402
const int libsbmlcs.libsbml.GroupsMemberIdRefMustBeSBase = 4020405
const int libsbmlcs.libsbml.GroupsMemberIdRefMustBeSId = 4020407
const int libsbmlcs.libsbml.GroupsMemberMetaIdRefMustBeID = 4020408
const int libsbmlcs.libsbml.GroupsMemberMetaIdRefMustBeSBase = 4020406
const int libsbmlcs.libsbml.GroupsMemberNameMustBeString = 4020404
const int libsbmlcs.libsbml.GroupsModelAllowedElements = 4020201
const int libsbmlcs.libsbml.GroupsModelEmptyLOElements = 4020202
const int libsbmlcs.libsbml.GroupsModelLOGroupsAllowedCoreAttributes = 4020204
const int libsbmlcs.libsbml.GroupsModelLOGroupsAllowedCoreElements = 4020203
const int libsbmlcs.libsbml.GroupsNotCircularReferences = 4020313
const int libsbmlcs.libsbml.GroupsNSUndeclared = 4010101
const int libsbmlcs.libsbml.GroupsUnknown = 4010100
const int libsbmlcs.libsbml.H_TEXTANCHOR_END = H_TEXTANCHOR_MIDDLE + 1
const int libsbmlcs.libsbml.H_TEXTANCHOR_INVALID = H_TEXTANCHOR_END + 1
const int libsbmlcs.libsbml.H_TEXTANCHOR_MIDDLE = H_TEXTANCHOR_START + 1
const int libsbmlcs.libsbml.H_TEXTANCHOR_START = H_TEXTANCHOR_UNSET + 1
const int libsbmlcs.libsbml.H_TEXTANCHOR_UNSET = 0
const int libsbmlcs.libsbml.HasOnlySubsNoSpatialUnits = 20602
const int libsbmlcs.libsbml.HasOnlySubstanceUnitsNotinL1 = 91019
const int libsbmlcs.libsbml.HasOnlySubsUnitsNotValidAttribute = 99919
const int libsbmlcs.libsbml.IdCheckOFF = 0xfe
const int libsbmlcs.libsbml.IdCheckON = 0x01
const int libsbmlcs.libsbml.IdNameSBaseInL3V2 = 98007
const int libsbmlcs.libsbml.IdNotValidAttribute = 99920
const int libsbmlcs.libsbml.InconsistentArgUnits = 10501
const int libsbmlcs.libsbml.InconsistentArgUnitsWarnings = 99502
const int libsbmlcs.libsbml.InconsistentExponUnitsWarnings = 99504
const int libsbmlcs.libsbml.InconsistentKineticLawUnitsL3 = 10503
const int libsbmlcs.libsbml.InconsistentPowerUnitsWarnings = 99503
const int libsbmlcs.libsbml.IncorrectCompartmentSpatialDimensions = 99901
const int libsbmlcs.libsbml.IncorrectOrderInConstraint = 21002
const int libsbmlcs.libsbml.IncorrectOrderInEvent = 21205
const int libsbmlcs.libsbml.IncorrectOrderInKineticLaw = 21122
const int libsbmlcs.libsbml.IncorrectOrderInModel = 20202
const int libsbmlcs.libsbml.IncorrectOrderInReaction = 21102
const int libsbmlcs.libsbml.INFIX_SYNTAX_CURLY_BRACES = INFIX_SYNTAX_NAMED_SQUARE_BRACKETS + 1
const int libsbmlcs.libsbml.INFIX_SYNTAX_CURLY_BRACES_SEMICOLON = INFIX_SYNTAX_CURLY_BRACES + 1
const int libsbmlcs.libsbml.INFIX_SYNTAX_NAMED_SQUARE_BRACKETS = 0
const int libsbmlcs.libsbml.InitAssignCompartmenMismatch = 10521
const int libsbmlcs.libsbml.InitAssignmentAndRuleForSameId = 20803
const int libsbmlcs.libsbml.InitAssignmentCannotRef0DComp = 20806
const int libsbmlcs.libsbml.InitAssignParameterMismatch = 10523
const int libsbmlcs.libsbml.InitAssignSpeciesMismatch = 10522
const int libsbmlcs.libsbml.InitAssignStoichiometryMismatch = 10524
const int libsbmlcs.libsbml.InitialAssignNotValidComponent = 99913
const int libsbmlcs.libsbml.InitialValueFalseEventNotSupported = 92013
const int libsbmlcs.libsbml.InitialValueNotBoolean = 21229
const int libsbmlcs.libsbml.INPUT_SIGN_DUAL = INPUT_SIGN_NEGATIVE + 1
const int libsbmlcs.libsbml.INPUT_SIGN_NEGATIVE = INPUT_SIGN_POSITIVE + 1
const int libsbmlcs.libsbml.INPUT_SIGN_POSITIVE = 0
const int libsbmlcs.libsbml.INPUT_SIGN_UNKNOWN = INPUT_SIGN_DUAL + 1
const int libsbmlcs.libsbml.INPUT_SIGN_VALUE_NOTSET = INPUT_SIGN_UNKNOWN + 1
const int libsbmlcs.libsbml.INPUT_TRANSITION_EFFECT_CONSUMPTION = INPUT_TRANSITION_EFFECT_NONE + 1
const int libsbmlcs.libsbml.INPUT_TRANSITION_EFFECT_NONE = 0
const int libsbmlcs.libsbml.INPUT_TRANSITION_EFFECT_UNKNOWN = INPUT_TRANSITION_EFFECT_CONSUMPTION + 1
const int libsbmlcs.libsbml.IntegerSpatialDimensions = 92009
const int libsbmlcs.libsbml.InternalXMLParserError = 101
const int libsbmlcs.libsbml.Invalid1DCompartmentUnits = 20507
const int libsbmlcs.libsbml.Invalid2DCompartmentUnits = 20508
const int libsbmlcs.libsbml.Invalid3DCompartmentUnits = 20509
const int libsbmlcs.libsbml.InvalidAfterXMLContent = 1029
const int libsbmlcs.libsbml.InvalidApplyCiInLambda = 20302
const int libsbmlcs.libsbml.InvalidAreaRedefinition = 20404
const int libsbmlcs.libsbml.InvalidAssignRuleVariable = 20901
const int libsbmlcs.libsbml.InvalidCharInXML = 1005
const int libsbmlcs.libsbml.InvalidCiInLambda = 20304
const int libsbmlcs.libsbml.InvalidCompartmentSBOTerm = 10712
const int libsbmlcs.libsbml.InvalidCompartmentTypeRef = 20510
const int libsbmlcs.libsbml.InvalidCompartmentTypeSBOTerm = 10714
const int libsbmlcs.libsbml.InvalidConstraintContent = 21006
const int libsbmlcs.libsbml.InvalidConstraintSBOTerm = 10706
const int libsbmlcs.libsbml.InvalidDelaySBOTerm = 10717
const int libsbmlcs.libsbml.InvalidEventAssignmentSBOTerm = 10711
const int libsbmlcs.libsbml.InvalidEventAssignmentVariable = 21211
const int libsbmlcs.libsbml.InvalidEventSBOTerm = 10710
const int libsbmlcs.libsbml.InvalidFunctionDefReturnType = 20305
const int libsbmlcs.libsbml.InvalidFunctionDefSBOTerm = 10702
const int libsbmlcs.libsbml.InvalidIdSyntax = 10310
const int libsbmlcs.libsbml.InvalidInitAssignSBOTerm = 10704
const int libsbmlcs.libsbml.InvalidInitAssignSymbol = 20801
const int libsbmlcs.libsbml.InvalidKineticLawSBOTerm = 10709
const int libsbmlcs.libsbml.InvalidL1CompartmentUnits = 99906
const int libsbmlcs.libsbml.InvalidLengthRedefinition = 20403
const int libsbmlcs.libsbml.InvalidLocalParameterSBOTerm = 10718
const int libsbmlcs.libsbml.InvalidMathElement = 10201
const int libsbmlcs.libsbml.InvalidMathMLAttribute = 99225
const int libsbmlcs.libsbml.InvalidMetaidSyntax = 10309
const int libsbmlcs.libsbml.InvalidModelSBOTerm = 10701
const int libsbmlcs.libsbml.InvalidModifiersList = 21105
const int libsbmlcs.libsbml.InvalidNamespaceOnSBML = 20101
const int libsbmlcs.libsbml.InvalidNameSyntax = 10312
const int libsbmlcs.libsbml.InvalidNoArgsPassedToFunctionDef = 10219
const int libsbmlcs.libsbml.InvalidNotesContent = 10804
const int libsbmlcs.libsbml.InvalidPackageLevelVersion = 99102
const int libsbmlcs.libsbml.InvalidParameterSBOTerm = 10703
const int libsbmlcs.libsbml.InvalidParameterUnits = 20701
const int libsbmlcs.libsbml.InvalidRateRuleVariable = 20902
const int libsbmlcs.libsbml.InvalidReactantsProductsList = 21104
const int libsbmlcs.libsbml.InvalidReactionSBOTerm = 10707
const int libsbmlcs.libsbml.InvalidRuleOrdering = 99106
const int libsbmlcs.libsbml.InvalidRuleSBOTerm = 10705
const int libsbmlcs.libsbml.InvalidSBMLElementSBOTerm = 10719
const int libsbmlcs.libsbml.InvalidSBMLLevelVersion = 99101
const int libsbmlcs.libsbml.InvalidSBOTermSyntax = 10308
const int libsbmlcs.libsbml.InvalidSpeciesCompartmentRef = 20601
const int libsbmlcs.libsbml.InvalidSpeciesReference = 21111
const int libsbmlcs.libsbml.InvalidSpeciesReferenceSBOTerm = 10708
const int libsbmlcs.libsbml.InvalidSpeciesSBOTerm = 10713
const int libsbmlcs.libsbml.InvalidSpeciesSusbstanceUnits = 20608
const int libsbmlcs.libsbml.InvalidSpeciesTypeRef = 20612
const int libsbmlcs.libsbml.InvalidSpeciesTypeSBOTerm = 10715
const int libsbmlcs.libsbml.InvalidSubstanceRedefinition = 20402
const int libsbmlcs.libsbml.InvalidTargetLevelVersion = 99997
const int libsbmlcs.libsbml.InvalidTimeRedefinition = 20405
const int libsbmlcs.libsbml.InvalidTriggerSBOTerm = 10716
const int libsbmlcs.libsbml.InvalidUnitDefId = 20401
const int libsbmlcs.libsbml.InvalidUnitIdSyntax = 10311
const int libsbmlcs.libsbml.InvalidUnitKind = 20410
const int libsbmlcs.libsbml.InvalidUnitsValue = 10221
const int libsbmlcs.libsbml.InvalidVolumeRedefinition = 20406
const int libsbmlcs.libsbml.InvalidXMLConstruct = 1008
const int libsbmlcs.libsbml.KineticLawNotSubstancePerTime = 10541
const int libsbmlcs.libsbml.KineticLawParametersAreLocalOnly = 10216
const int libsbmlcs.libsbml.L1V1CompartmentVolumeReqd = 99907
const int libsbmlcs.libsbml.L3AreaUnitsOnModel = 20219
const int libsbmlcs.libsbml.L3ConversionFactorOnModel = 20216
const int libsbmlcs.libsbml.L3ExtentUnitsOnModel = 20221
const int libsbmlcs.libsbml.L3LengthUnitsOnModel = 20220
const int libsbmlcs.libsbml.L3NotSchemaConformant = 10104
const int libsbmlcs.libsbml.L3NotSupported = 99998
const bool libsbmlcs.libsbml.L3P_AVOGADRO_IS_CSYMBOL = true
const bool libsbmlcs.libsbml.L3P_AVOGADRO_IS_NAME = false
const bool libsbmlcs.libsbml.L3P_COLLAPSE_UNARY_MINUS = true
const bool libsbmlcs.libsbml.L3P_COMPARE_BUILTINS_CASE_INSENSITIVE = false
const bool libsbmlcs.libsbml.L3P_COMPARE_BUILTINS_CASE_SENSITIVE = true
const bool libsbmlcs.libsbml.L3P_EXPAND_UNARY_MINUS = false
const bool libsbmlcs.libsbml.L3P_MODULO_IS_PIECEWISE = false
const bool libsbmlcs.libsbml.L3P_MODULO_IS_REM = true
const bool libsbmlcs.libsbml.L3P_NO_UNITS = false
const bool libsbmlcs.libsbml.L3P_PARSE_L3V2_FUNCTIONS_AS_GENERIC = false
const bool libsbmlcs.libsbml.L3P_PARSE_L3V2_FUNCTIONS_DIRECTLY = true
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_ERROR = 2
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_LN = 1
const int libsbmlcs.libsbml.L3P_PARSE_LOG_AS_LOG10 = 0
const bool libsbmlcs.libsbml.L3P_PARSE_PACKAGE_MATH_AS_GENERIC = false
const bool libsbmlcs.libsbml.L3P_PARSE_PACKAGE_MATH_DIRECTLY = true
const bool libsbmlcs.libsbml.L3P_PARSE_UNITS = true
const int libsbmlcs.libsbml.L3PackageOnLowerSBML = 20109
const int libsbmlcs.libsbml.L3SpatialDimensionsUnset = 99926
const int libsbmlcs.libsbml.L3SubstanceUnitsOnModel = 99130
const int libsbmlcs.libsbml.L3TimeUnitsOnModel = 20217
const int libsbmlcs.libsbml.L3V2FastDeprecated = 21152
const int libsbmlcs.libsbml.L3V2SubstanceUnitsOnModel = 20233
const int libsbmlcs.libsbml.L3VolumeUnitsOnModel = 20218
const int libsbmlcs.libsbml.LambdaOnlyAllowedInFunctionDef = 10208
const int libsbmlcs.libsbml.LayoutAttributeRequiredMissing = 6020101
const int libsbmlcs.libsbml.LayoutAttributeRequiredMustBeBoolean = 6020102
const int libsbmlcs.libsbml.LayoutBBoxAllowedAttributes = 6021304
const int libsbmlcs.libsbml.LayoutBBoxAllowedCoreAttributes = 6021302
const int libsbmlcs.libsbml.LayoutBBoxAllowedCoreElements = 6021301
const int libsbmlcs.libsbml.LayoutBBoxAllowedElements = 6021303
const int libsbmlcs.libsbml.LayoutBBoxConsistent3DDefinition = 6021305
const int libsbmlcs.libsbml.LayoutCBezAllowedAttributes = 6021604
const int libsbmlcs.libsbml.LayoutCBezAllowedCoreAttributes = 6021602
const int libsbmlcs.libsbml.LayoutCBezAllowedCoreElements = 6021601
const int libsbmlcs.libsbml.LayoutCBezAllowedElements = 6021603
const int libsbmlcs.libsbml.LayoutCGAllowedAttributes = 6020504
const int libsbmlcs.libsbml.LayoutCGAllowedCoreAttributes = 6020502
const int libsbmlcs.libsbml.LayoutCGAllowedCoreElements = 6020501
const int libsbmlcs.libsbml.LayoutCGAllowedElements = 6020503
const int libsbmlcs.libsbml.LayoutCGCompartmentMustRefComp = 6020508
const int libsbmlcs.libsbml.LayoutCGCompartmentSyntax = 6020507
const int libsbmlcs.libsbml.LayoutCGMetaIdRefMustBeIDREF = 6020505
const int libsbmlcs.libsbml.LayoutCGMetaIdRefMustReferenceObject = 6020506
const int libsbmlcs.libsbml.LayoutCGNoDuplicateReferences = 6020509
const int libsbmlcs.libsbml.LayoutCGOrderMustBeDouble = 6020510
const int libsbmlcs.libsbml.LayoutCurveAllowedAttributes = 6021404
const int libsbmlcs.libsbml.LayoutCurveAllowedCoreAttributes = 6021402
const int libsbmlcs.libsbml.LayoutCurveAllowedCoreElements = 6021401
const int libsbmlcs.libsbml.LayoutCurveAllowedElements = 6021403
const int libsbmlcs.libsbml.LayoutDimsAllowedAttributes = 6021703
const int libsbmlcs.libsbml.LayoutDimsAllowedCoreAttributes = 6021702
const int libsbmlcs.libsbml.LayoutDimsAllowedCoreElements = 6021701
const int libsbmlcs.libsbml.LayoutDimsAttributesMustBeDouble = 6021704
const int libsbmlcs.libsbml.LayoutDuplicateComponentId = 6010301
const int libsbmlcs.libsbml.LayoutElementNotInNs = 6010102
const int libsbmlcs.libsbml.LayoutGGAllowedAttributes = 6020804
const int libsbmlcs.libsbml.LayoutGGAllowedCoreAttributes = 6020802
const int libsbmlcs.libsbml.LayoutGGAllowedCoreElements = 6020801
const int libsbmlcs.libsbml.LayoutGGAllowedElements = 6020803
const int libsbmlcs.libsbml.LayoutGGMetaIdRefMustBeIDREF = 6020805
const int libsbmlcs.libsbml.LayoutGGMetaIdRefMustReferenceObject = 6020806
const int libsbmlcs.libsbml.LayoutGGNoDuplicateReferences = 6020809
const int libsbmlcs.libsbml.LayoutGGReferenceMustRefObject = 6020808
const int libsbmlcs.libsbml.LayoutGGReferenceSyntax = 6020807
const int libsbmlcs.libsbml.LayoutGOAllowedAttributes = 6020404
const int libsbmlcs.libsbml.LayoutGOAllowedCoreAttributes = 6020402
const int libsbmlcs.libsbml.LayoutGOAllowedCoreElements = 6020401
const int libsbmlcs.libsbml.LayoutGOAllowedElements = 6020403
const int libsbmlcs.libsbml.LayoutGOMetaIdRefMustBeIDREF = 6020405
const int libsbmlcs.libsbml.LayoutGOMetaIdRefMustReferenceObject = 6020406
const int libsbmlcs.libsbml.LayoutGOMustContainBoundingBox = 6020407
const int libsbmlcs.libsbml.LayoutLayoutAllowedAttributes = 6020305
const int libsbmlcs.libsbml.LayoutLayoutAllowedCoreAttributes = 6020302
const int libsbmlcs.libsbml.LayoutLayoutAllowedElements = 6020301
const int libsbmlcs.libsbml.LayoutLayoutMustHaveDimensions = 6020315
const int libsbmlcs.libsbml.LayoutLayoutNameMustBeString = 6020306
const int libsbmlcs.libsbml.LayoutLOAddGOAllowedAttribut = 6020313
const int libsbmlcs.libsbml.LayoutLOAddGOAllowedElements = 6020314
const int libsbmlcs.libsbml.LayoutLOCompGlyphAllowedAttributes = 6020307
const int libsbmlcs.libsbml.LayoutLOCompGlyphAllowedElements = 6020308
const int libsbmlcs.libsbml.LayoutLOCurveSegsAllowedAttributes = 6021405
const int libsbmlcs.libsbml.LayoutLOCurveSegsAllowedElements = 6021406
const int libsbmlcs.libsbml.LayoutLOCurveSegsNotEmpty = 6021407
const int libsbmlcs.libsbml.LayoutLOLayoutsAllowedAttributes = 6020204
const int libsbmlcs.libsbml.LayoutLOLayoutsAllowedElements = 6020203
const int libsbmlcs.libsbml.LayoutLOLayoutsNotEmpty = 6020202
const int libsbmlcs.libsbml.LayoutLOReferenceGlyphAllowedAttribs = 6020811
const int libsbmlcs.libsbml.LayoutLOReferenceGlyphAllowedElements = 6020810
const int libsbmlcs.libsbml.LayoutLORnGlyphAllowedAttributes = 6020311
const int libsbmlcs.libsbml.LayoutLORnGlyphAllowedElements = 6020312
const int libsbmlcs.libsbml.LayoutLOSpeciesGlyphAllowedAttributes = 6020309
const int libsbmlcs.libsbml.LayoutLOSpeciesGlyphAllowedElements = 6020310
const int libsbmlcs.libsbml.LayoutLOSpeciesRefGlyphAllowedAttribs = 6020711
const int libsbmlcs.libsbml.LayoutLOSpeciesRefGlyphAllowedElements = 6020710
const int libsbmlcs.libsbml.LayoutLOSpeciesRefGlyphNotEmpty = 6020712
const int libsbmlcs.libsbml.LayoutLOSubGlyphAllowedAttribs = 6020813
const int libsbmlcs.libsbml.LayoutLOSubGlyphAllowedElements = 6020812
const int libsbmlcs.libsbml.LayoutLOTextGlyphAllowedAttributes = 6020316
const int libsbmlcs.libsbml.LayoutLOTextGlyphAllowedElements = 6020317
const int libsbmlcs.libsbml.LayoutLSegAllowedAttributes = 6021504
const int libsbmlcs.libsbml.LayoutLSegAllowedCoreAttributes = 6021502
const int libsbmlcs.libsbml.LayoutLSegAllowedCoreElements = 6021501
const int libsbmlcs.libsbml.LayoutLSegAllowedElements = 6021503
const int libsbmlcs.libsbml.LayoutNoEmptyListOfs = 6020304
const int libsbmlcs.libsbml.LayoutNSUndeclared = 6010101
const int libsbmlcs.libsbml.LayoutOnlyOneEachListOf = 6020303
const int libsbmlcs.libsbml.LayoutOnlyOneLOLayouts = 6020201
const int libsbmlcs.libsbml.LayoutPointAllowedAttributes = 6021203
const int libsbmlcs.libsbml.LayoutPointAllowedCoreAttributes = 6021202
const int libsbmlcs.libsbml.LayoutPointAllowedCoreElements = 6021201
const int libsbmlcs.libsbml.LayoutPointAttributesMustBeDouble = 6021204
const int libsbmlcs.libsbml.LayoutREFGAllowedAttributes = 6021104
const int libsbmlcs.libsbml.LayoutREFGAllowedCoreAttributes = 6021102
const int libsbmlcs.libsbml.LayoutREFGAllowedCoreElements = 6021101
const int libsbmlcs.libsbml.LayoutREFGAllowedElements = 6021103
const int libsbmlcs.libsbml.LayoutREFGGlyphMustRefObject = 6021111
const int libsbmlcs.libsbml.LayoutREFGGlyphSyntax = 6021110
const int libsbmlcs.libsbml.LayoutREFGMetaIdRefMustBeIDREF = 6021105
const int libsbmlcs.libsbml.LayoutREFGMetaIdRefMustReferenceObject = 6021106
const int libsbmlcs.libsbml.LayoutREFGNoDuplicateReferences = 6021109
const int libsbmlcs.libsbml.LayoutREFGReferenceMustRefObject = 6021108
const int libsbmlcs.libsbml.LayoutREFGReferenceSyntax = 6021107
const int libsbmlcs.libsbml.LayoutREFGRoleSyntax = 6021112
const int libsbmlcs.libsbml.LayoutRequiredFalse = 6020103
const int libsbmlcs.libsbml.LayoutRGAllowedAttributes = 6020704
const int libsbmlcs.libsbml.LayoutRGAllowedCoreAttributes = 6020702
const int libsbmlcs.libsbml.LayoutRGAllowedCoreElements = 6020701
const int libsbmlcs.libsbml.LayoutRGAllowedElements = 6020703
const int libsbmlcs.libsbml.LayoutRGMetaIdRefMustBeIDREF = 6020705
const int libsbmlcs.libsbml.LayoutRGMetaIdRefMustReferenceObject = 6020706
const int libsbmlcs.libsbml.LayoutRGNoDuplicateReferences = 6020709
const int libsbmlcs.libsbml.LayoutRGReactionMustRefReaction = 6020708
const int libsbmlcs.libsbml.LayoutRGReactionSyntax = 6020707
const int libsbmlcs.libsbml.LayoutSGAllowedAttributes = 6020604
const int libsbmlcs.libsbml.LayoutSGAllowedCoreAttributes = 6020602
const int libsbmlcs.libsbml.LayoutSGAllowedCoreElements = 6020601
const int libsbmlcs.libsbml.LayoutSGAllowedElements = 6020603
const int libsbmlcs.libsbml.LayoutSGMetaIdRefMustBeIDREF = 6020605
const int libsbmlcs.libsbml.LayoutSGMetaIdRefMustReferenceObject = 6020606
const int libsbmlcs.libsbml.LayoutSGNoDuplicateReferences = 6020609
const int libsbmlcs.libsbml.LayoutSGSpeciesMustRefSpecies = 6020608
const int libsbmlcs.libsbml.LayoutSGSpeciesSyntax = 6020607
const int libsbmlcs.libsbml.LayoutSIdSyntax = 6010302
const int libsbmlcs.libsbml.LayoutSRGAllowedAttributes = 6021004
const int libsbmlcs.libsbml.LayoutSRGAllowedCoreAttributes = 6021002
const int libsbmlcs.libsbml.LayoutSRGAllowedCoreElements = 6021001
const int libsbmlcs.libsbml.LayoutSRGAllowedElements = 6021003
const int libsbmlcs.libsbml.LayoutSRGMetaIdRefMustBeIDREF = 6021005
const int libsbmlcs.libsbml.LayoutSRGMetaIdRefMustReferenceObject = 6021006
const int libsbmlcs.libsbml.LayoutSRGNoDuplicateReferences = 6021009
const int libsbmlcs.libsbml.LayoutSRGRoleSyntax = 6021012
const int libsbmlcs.libsbml.LayoutSRGSpeciesGlyphMustRefObject = 6021011
const int libsbmlcs.libsbml.LayoutSRGSpeciesGlyphSyntax = 6021010
const int libsbmlcs.libsbml.LayoutSRGSpeciesReferenceSyntax = 6021007
const int libsbmlcs.libsbml.LayoutSRGSpeciesRefMustRefObject = 6021008
const int libsbmlcs.libsbml.LayoutTGAllowedAttributes = 6020904
const int libsbmlcs.libsbml.LayoutTGAllowedCoreAttributes = 6020902
const int libsbmlcs.libsbml.LayoutTGAllowedCoreElements = 6020901
const int libsbmlcs.libsbml.LayoutTGAllowedElements = 6020903
const int libsbmlcs.libsbml.LayoutTGGraphicalObjectMustRefObject = 6020911
const int libsbmlcs.libsbml.LayoutTGGraphicalObjectSyntax = 6020910
const int libsbmlcs.libsbml.LayoutTGMetaIdRefMustBeIDREF = 6020905
const int libsbmlcs.libsbml.LayoutTGMetaIdRefMustReferenceObject = 6020906
const int libsbmlcs.libsbml.LayoutTGNoDuplicateReferences = 6020909
const int libsbmlcs.libsbml.LayoutTGOriginOfTextMustRefObject = 6020908
const int libsbmlcs.libsbml.LayoutTGOriginOfTextSyntax = 6020907
const int libsbmlcs.libsbml.LayoutTGTextMustBeString = 6020912
const int libsbmlcs.libsbml.LayoutUnknownError = 6010100
const int libsbmlcs.libsbml.LayoutXsiTypeAllowedLocations = 6010401
const int libsbmlcs.libsbml.LayoutXsiTypeSyntax = 6010402
const int libsbmlcs.libsbml.LevelPositiveInteger = 20105
const int libsbmlcs.libsbml.LIBSBML_ANNOTATION_NAME_NOT_FOUND = -12
const int libsbmlcs.libsbml.LIBSBML_ANNOTATION_NS_NOT_FOUND = -13
const int libsbmlcs.libsbml.LIBSBML_CAT_GENERAL_CONSISTENCY = LIBSBML_CAT_SBML_L2V2_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_IDENTIFIER_CONSISTENCY = LIBSBML_CAT_GENERAL_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_INTERNAL = 0
const int libsbmlcs.libsbml.LIBSBML_CAT_INTERNAL_CONSISTENCY = LIBSBML_CAT_MODELING_PRACTICE + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_MATHML_CONSISTENCY = LIBSBML_CAT_UNITS_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_MODELING_PRACTICE = LIBSBML_CAT_SBML_L2V3_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_OVERDETERMINED_MODEL = LIBSBML_CAT_SBO_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML = (LIBSBML_CAT_XML+1)
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_COMPATIBILITY = LIBSBML_CAT_SBML_L3V2_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L1_COMPAT = LIBSBML_CAT_SBML + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V1_COMPAT = LIBSBML_CAT_SBML_L1_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V2_COMPAT = LIBSBML_CAT_SBML_L2V1_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V3_COMPAT = LIBSBML_CAT_OVERDETERMINED_MODEL + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L2V4_COMPAT = LIBSBML_CAT_INTERNAL_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L3V1_COMPAT = LIBSBML_CAT_SBML_L2V4_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBML_L3V2_COMPAT = LIBSBML_CAT_SBML_L3V1_COMPAT + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SBO_CONSISTENCY = LIBSBML_CAT_MATHML_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_SYSTEM = LIBSBML_CAT_INTERNAL + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_UNITS_CONSISTENCY = LIBSBML_CAT_IDENTIFIER_CONSISTENCY + 1
const int libsbmlcs.libsbml.LIBSBML_CAT_XML = LIBSBML_CAT_SYSTEM + 1
const int libsbmlcs.libsbml.LIBSBML_CONV_CONVERSION_NOT_AVAILABLE = -33
const int libsbmlcs.libsbml.LIBSBML_CONV_INVALID_SRC_DOCUMENT = -32
const int libsbmlcs.libsbml.LIBSBML_CONV_INVALID_TARGET_NAMESPACE = -30
const int libsbmlcs.libsbml.LIBSBML_CONV_PKG_CONSIDERED_UNKNOWN = -34
const int libsbmlcs.libsbml.LIBSBML_CONV_PKG_CONVERSION_NOT_AVAILABLE = -31
const int libsbmlcs.libsbml.LIBSBML_DEPRECATED_ATTRIBUTE = -15
const string libsbmlcs.libsbml.LIBSBML_DOTTED_VERSION = "5.18.0"
const int libsbmlcs.libsbml.LIBSBML_DUPLICATE_ANNOTATION_NS = -11
const int libsbmlcs.libsbml.LIBSBML_DUPLICATE_OBJECT_ID = -6
const int libsbmlcs.libsbml.LIBSBML_INDEX_EXCEEDS_SIZE = -1
const int libsbmlcs.libsbml.LIBSBML_INVALID_ATTRIBUTE_VALUE = -4
const int libsbmlcs.libsbml.LIBSBML_INVALID_OBJECT = -5
const int libsbmlcs.libsbml.LIBSBML_INVALID_XML_OPERATION = -9
const int libsbmlcs.libsbml.LIBSBML_LEVEL_MISMATCH = -7
const int libsbmlcs.libsbml.LIBSBML_MISSING_METAID = -14
const int libsbmlcs.libsbml.LIBSBML_NAMESPACES_MISMATCH = -10
const int libsbmlcs.libsbml.LIBSBML_OPERATION_FAILED = -3
const int libsbmlcs.libsbml.LIBSBML_OPERATION_SUCCESS = 0
const int libsbmlcs.libsbml.LIBSBML_OVERRIDE_DISABLED = 0
const int libsbmlcs.libsbml.LIBSBML_OVERRIDE_DONT_LOG = LIBSBML_OVERRIDE_DISABLED + 1
const int libsbmlcs.libsbml.LIBSBML_OVERRIDE_ERROR = LIBSBML_OVERRIDE_WARNING + 1
const int libsbmlcs.libsbml.LIBSBML_OVERRIDE_WARNING = LIBSBML_OVERRIDE_DONT_LOG + 1
const int libsbmlcs.libsbml.LIBSBML_PKG_CONFLICT = -25
const int libsbmlcs.libsbml.LIBSBML_PKG_CONFLICTED_VERSION = -24
const int libsbmlcs.libsbml.LIBSBML_PKG_DISABLED = -23
const int libsbmlcs.libsbml.LIBSBML_PKG_UNKNOWN = -21
const int libsbmlcs.libsbml.LIBSBML_PKG_UNKNOWN_VERSION = -22
const int libsbmlcs.libsbml.LIBSBML_PKG_VERSION_MISMATCH = -20
const int libsbmlcs.libsbml.LIBSBML_SEV_ERROR = LIBSBML_SEV_WARNING + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_FATAL = LIBSBML_SEV_ERROR + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_GENERAL_WARNING = LIBSBML_SEV_SCHEMA_ERROR + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_INFO = 0
const int libsbmlcs.libsbml.LIBSBML_SEV_NOT_APPLICABLE = LIBSBML_SEV_GENERAL_WARNING + 1
const int libsbmlcs.libsbml.LIBSBML_SEV_SCHEMA_ERROR = (LIBSBML_SEV_FATAL+1)
const int libsbmlcs.libsbml.LIBSBML_SEV_WARNING = LIBSBML_SEV_INFO + 1
const int libsbmlcs.libsbml.LIBSBML_UNEXPECTED_ATTRIBUTE = -2
const int libsbmlcs.libsbml.LIBSBML_USE_ID_ATTRIBUTE_FUNCTION = -16
const int libsbmlcs.libsbml.LIBSBML_VERSION = 51800
const int libsbmlcs.libsbml.LIBSBML_VERSION_MISMATCH = -8
const string libsbmlcs.libsbml.LIBSBML_VERSION_STRING = "51800"
const int libsbmlcs.libsbml.LibSBMLAdditionalCodesLowerBound = 90000
const int libsbmlcs.libsbml.LocalParameterShadowsId = 81121
const int libsbmlcs.libsbml.LocalParameterShadowsSpecies = 21173
const int libsbmlcs.libsbml.MathCheckOFF = 0xf7
const int libsbmlcs.libsbml.MathCheckON = 0x08
const int libsbmlcs.libsbml.MathMLElementNotSupported = 98002
const int libsbmlcs.libsbml.MathResultMustBeNumeric = 10217
const int libsbmlcs.libsbml.MetaIdNotValidAttribute = 99904
const int libsbmlcs.libsbml.MissingAnnotationNamespace = 10401
const int libsbmlcs.libsbml.MissingEventAssignment = 21203
const int libsbmlcs.libsbml.MissingMathElementNotSupported = 98004
const int libsbmlcs.libsbml.MissingModel = 20201
const int libsbmlcs.libsbml.MissingOrInconsistentLevel = 20102
const int libsbmlcs.libsbml.MissingOrInconsistentVersion = 20103
const int libsbmlcs.libsbml.MissingParticipantsNotSupported = 98008
const int libsbmlcs.libsbml.MissingSpeciesCompartment = 20614
const int libsbmlcs.libsbml.MissingTriggerElementNotSupported = 98005
const int libsbmlcs.libsbml.MissingTriggerInEvent = 21201
const int libsbmlcs.libsbml.MissingXMLAttributeValue = 1018
const int libsbmlcs.libsbml.MissingXMLDecl = 1001
const int libsbmlcs.libsbml.MissingXMLElements = 1034
const int libsbmlcs.libsbml.MissingXMLEncoding = 1002
const int libsbmlcs.libsbml.MissingXMLRequiredAttribute = 1015
const int libsbmlcs.libsbml.MODEL_QUALIFIER = 0
const int libsbmlcs.libsbml.ModelSBOBranchChangedBeyondL2v2 = 93006
const int libsbmlcs.libsbml.ModelSBOBranchChangedBeyondL2v3 = 94007
const int libsbmlcs.libsbml.ModelSBOBranchChangedInL2v4 = 95006
const int libsbmlcs.libsbml.ModelSBOBranchChangedInL3v1 = 96008
const int libsbmlcs.libsbml.MULTI_BINDING_STATUS_BOUND = 0
const int libsbmlcs.libsbml.MULTI_BINDING_STATUS_EITHER = MULTI_BINDING_STATUS_UNBOUND + 1
const int libsbmlcs.libsbml.MULTI_BINDING_STATUS_UNBOUND = MULTI_BINDING_STATUS_BOUND + 1
const int libsbmlcs.libsbml.MULTI_BINDING_STATUS_UNKNOWN = MULTI_BINDING_STATUS_EITHER + 1
const int libsbmlcs.libsbml.MULTI_RELATION_AND = 0
const int libsbmlcs.libsbml.MULTI_RELATION_NOT = MULTI_RELATION_OR + 1
const int libsbmlcs.libsbml.MULTI_RELATION_OR = MULTI_RELATION_AND + 1
const int libsbmlcs.libsbml.MULTI_RELATION_UNKNOWN = MULTI_RELATION_NOT + 1
const int libsbmlcs.libsbml.MultipleAnnotations = 10404
const int libsbmlcs.libsbml.MultipleAssignmentOrRateRules = 10304
const int libsbmlcs.libsbml.MultipleEventAssignmentsForId = 10305
const int libsbmlcs.libsbml.MultipleInitAssignments = 20802
const int libsbmlcs.libsbml.MultiplierNotValidAttribute = 99924
const int libsbmlcs.libsbml.MultSpeciesSameTypeInCompartment = 20613
const int libsbmlcs.libsbml.NameNotValidAttribute = 99921
const int libsbmlcs.libsbml.NeedCompartmentIfHaveSpecies = 20204
const int libsbmlcs.libsbml.NestedAnnotationNotAllowed = 99407
const int libsbmlcs.libsbml.NoBodyInFunctionDef = 99302
const int libsbmlcs.libsbml.NoCompartmentOutsideInL3v1 = 96010
const int libsbmlcs.libsbml.NoCompartmentTypeInL1 = 91006
const int libsbmlcs.libsbml.NoCompartmentTypeInL2v1 = 92004
const int libsbmlcs.libsbml.NoCompartmentTypeInL3v1 = 96002
const int libsbmlcs.libsbml.NoConcentrationInZeroD = 20604
const int libsbmlcs.libsbml.NoConstraintsInL1 = 91003
const int libsbmlcs.libsbml.NoConstraintsInL2v1 = 92001
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v1 = 92007
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v2 = 93005
const int libsbmlcs.libsbml.NoDelayedEventAssignmentInL2v3 = 94006
const int libsbmlcs.libsbml.NoEventsInL1 = 91001
const int libsbmlcs.libsbml.NoEventTimeUnitsInL2v3 = 94005
const int libsbmlcs.libsbml.NoEventTimeUnitsInL2v4 = 95005
const int libsbmlcs.libsbml.NoEventTimeUnitsInL3v1 = 96007
const int libsbmlcs.libsbml.NoFancyStoichiometryMathInL1 = 91008
const int libsbmlcs.libsbml.NoFunctionDefinitionsInL1 = 91002
const int libsbmlcs.libsbml.NoIdOnSpeciesReferenceInL2v1 = 92006
const int libsbmlcs.libsbml.NoInitialAssignmentsInL1 = 91004
const int libsbmlcs.libsbml.NoInitialAssignmentsInL2v1 = 92002
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v2 = 93004
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v3 = 94003
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL2v4 = 95003
const int libsbmlcs.libsbml.NoKineticLawSubstanceUnitsInL3v1 = 96005
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v2 = 93003
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v3 = 94002
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL2v4 = 95002
const int libsbmlcs.libsbml.NoKineticLawTimeUnitsInL3v1 = 96004
const int libsbmlcs.libsbml.NonBoundarySpeciesAssignedAndUsed = 20610
const int libsbmlcs.libsbml.NonConstantLocalParameter = 21124
const int libsbmlcs.libsbml.NonConstantSpeciesUsed = 20611
const int libsbmlcs.libsbml.NoNon3DCompartmentsInL1 = 91007
const int libsbmlcs.libsbml.NoNonIntegerStoichiometryInL1 = 91009
const int libsbmlcs.libsbml.NonPersistentNotSupported = 92012
const int libsbmlcs.libsbml.NoReactantsOrProducts = 21101
const int libsbmlcs.libsbml.NoSBOTermsInL1 = 91013
const int libsbmlcs.libsbml.NoSBOTermsInL2v1 = 92005
const int libsbmlcs.libsbml.NoSpatialUnitsInZeroD = 20603
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL1 = 91012
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL2v3 = 94004
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL2v4 = 95004
const int libsbmlcs.libsbml.NoSpeciesSpatialSizeUnitsInL3v1 = 96006
const int libsbmlcs.libsbml.NoSpeciesTypeInL2v1 = 92003
const int libsbmlcs.libsbml.NoSpeciesTypeInL3v1 = 96001
const int libsbmlcs.libsbml.NoSpeciesTypesInL1 = 91005
const int libsbmlcs.libsbml.NoStoichiometryMathInL3v1 = 96011
const int libsbmlcs.libsbml.NotesContainsDOCTYPE = 10803
const int libsbmlcs.libsbml.NotesContainsXMLDecl = 10802
const int libsbmlcs.libsbml.NotesNotInXHTMLNamespace = 10801
const int libsbmlcs.libsbml.NoTimeSymbolInFunctionDef = 99301
const int libsbmlcs.libsbml.NotSchemaConformant = 10103
const int libsbmlcs.libsbml.NotUTF8 = 10101
const int libsbmlcs.libsbml.NoUnitMultipliersOrOffsetsInL1 = 91010
const int libsbmlcs.libsbml.NoUnitOffsetInL2v2 = 93002
const int libsbmlcs.libsbml.NoUnitOffsetInL2v3 = 94001
const int libsbmlcs.libsbml.NoUnitOffsetInL2v4 = 95001
const int libsbmlcs.libsbml.NoUnitOffsetInL3v1 = 96003
const int libsbmlcs.libsbml.NoUnitsOnCompartment = 20518
const int libsbmlcs.libsbml.NumericOpsNeedNumericArgs = 10210
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_MAXIMIZE = 0
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_MINIMIZE = OBJECTIVE_TYPE_MAXIMIZE + 1
const int libsbmlcs.libsbml.OBJECTIVE_TYPE_UNKNOWN = OBJECTIVE_TYPE_MINIMIZE + 1
const int libsbmlcs.libsbml.ObseleteSBOTerm = 99702
const int libsbmlcs.libsbml.OffsetNoLongerValid = 20411
const int libsbmlcs.libsbml.OffsetNotValidAttribute = 99925
const int libsbmlcs.libsbml.OneDimensionalCompartmentUnits = 20511
const int libsbmlcs.libsbml.OneListOfEventAssignmentsPerEvent = 21222
const int libsbmlcs.libsbml.OneListOfPerKineticLaw = 21127
const int libsbmlcs.libsbml.OneListOfUnitsPerUnitDef = 20414
const int libsbmlcs.libsbml.OneMathElementPerConstraint = 21007
const int libsbmlcs.libsbml.OneMathElementPerFunc = 20306
const int libsbmlcs.libsbml.OneMathElementPerInitialAssign = 20804
const int libsbmlcs.libsbml.OneMathElementPerRule = 20907
const int libsbmlcs.libsbml.OneMathPerDelay = 21210
const int libsbmlcs.libsbml.OneMathPerEventAssignment = 21213
const int libsbmlcs.libsbml.OneMathPerKineticLaw = 21130
const int libsbmlcs.libsbml.OneMathPerPriority = 21231
const int libsbmlcs.libsbml.OneMathPerTrigger = 21209
const int libsbmlcs.libsbml.OneMessageElementPerConstraint = 21008
const int libsbmlcs.libsbml.OneOfEachListOf = 20205
const int libsbmlcs.libsbml.OneSubElementPerReaction = 21106
const int libsbmlcs.libsbml.OnlyCiInsideBVar = 99304
const int libsbmlcs.libsbml.OnlyCompartmentsInListOfCompartments = 20208
const int libsbmlcs.libsbml.OnlyConstraintsInListOfConstraints = 20213
const int libsbmlcs.libsbml.OnlyEventAssignInListOfEventAssign = 21223
const int libsbmlcs.libsbml.OnlyEventsInListOfEvents = 20215
const int libsbmlcs.libsbml.OnlyFuncDefsInListOfFuncDefs = 20206
const int libsbmlcs.libsbml.OnlyInitAssignsInListOfInitAssigns = 20211
const int libsbmlcs.libsbml.OnlyLocalParamsInListOfLocalParams = 21128
const int libsbmlcs.libsbml.OnlyOneDelayPerEvent = 21221
const int libsbmlcs.libsbml.OnlyOneNotesElementAllowed = 10805
const int libsbmlcs.libsbml.OnlyOnePriorityPerEvent = 21230
const int libsbmlcs.libsbml.OnlyParametersInListOfParameters = 20210
const int libsbmlcs.libsbml.OnlyReactionsInListOfReactions = 20214
const int libsbmlcs.libsbml.OnlyRulesInListOfRules = 20212
const int libsbmlcs.libsbml.OnlySpeciesInListOfSpecies = 20209
const int libsbmlcs.libsbml.OnlyUnitDefsInListOfUnitDefs = 20207
const int libsbmlcs.libsbml.OnlyUnitsInListOfUnits = 20415
const int libsbmlcs.libsbml.OperationInterrupted = 99950
const int libsbmlcs.libsbml.OpsNeedCorrectNumberOfArgs = 10218
const int libsbmlcs.libsbml.OR_ASSOCIATION = 2
const int libsbmlcs.libsbml.OUTPUT_TRANSITION_EFFECT_ASSIGNMENT_LEVEL = OUTPUT_TRANSITION_EFFECT_PRODUCTION + 1
const int libsbmlcs.libsbml.OUTPUT_TRANSITION_EFFECT_PRODUCTION = 0
const int libsbmlcs.libsbml.OUTPUT_TRANSITION_EFFECT_UNKNOWN = OUTPUT_TRANSITION_EFFECT_ASSIGNMENT_LEVEL + 1
const int libsbmlcs.libsbml.OverdeterCheckOFF = 0xdf
const int libsbmlcs.libsbml.OverdeterCheckON = 0x20
const int libsbmlcs.libsbml.OverdeterminedSystem = 10601
const int libsbmlcs.libsbml.PackageConversionNotSupported = 99996
const int libsbmlcs.libsbml.PackageNSMustMatch = 20104
const int libsbmlcs.libsbml.PackageRequiredShouldBeFalse = 99109
const int libsbmlcs.libsbml.ParameterShouldHaveUnits = 80701
const int libsbmlcs.libsbml.ParameterShouldHaveValue = 80702
const int libsbmlcs.libsbml.ParameterUnits = 20702
const int libsbmlcs.libsbml.PersistentNotBoolean = 21228
const int libsbmlcs.libsbml.PieceNeedsBoolean = 10213
const int libsbmlcs.libsbml.PiecewiseNeedsConsistentTypes = 10212
const int libsbmlcs.libsbml.PracticeCheckOFF = 0xbf
const int libsbmlcs.libsbml.PracticeCheckON = 0x40
const int libsbmlcs.libsbml.PriorityLostFromL3 = 92011
const int libsbmlcs.libsbml.PriorityUnitsNotDimensionless = 10565
const int libsbmlcs.libsbml.QualAttributeRequiredMissing = 3020101
const int libsbmlcs.libsbml.QualAttributeRequiredMustBeBoolean = 3020102
const int libsbmlcs.libsbml.QualCompartmentMustReferExisting = 3020308
const int libsbmlcs.libsbml.QualConstantMustBeBool = 3020304
const int libsbmlcs.libsbml.QualConstantQSCannotBeOutput = 3020310
const int libsbmlcs.libsbml.QualDefaultTermAllowedAttributes = 3020703
const int libsbmlcs.libsbml.QualDefaultTermAllowedCoreAttributes = 3020701
const int libsbmlcs.libsbml.QualDefaultTermAllowedElements = 3020702
const int libsbmlcs.libsbml.QualDefaultTermResultMustBeInteger = 3020704
const int libsbmlcs.libsbml.QualDefaultTermResultMustBeNonNeg = 3020705
const int libsbmlcs.libsbml.QualDuplicateComponentId = 3010301
const int libsbmlcs.libsbml.QualElementNotInNs = 3010102
const int libsbmlcs.libsbml.QualEmptyLONotAllowed = 3020202
const int libsbmlcs.libsbml.QualFuncTermAllowedAttributes = 3020803
const int libsbmlcs.libsbml.QualFuncTermAllowedCoreAttributes = 3020801
const int libsbmlcs.libsbml.QualFuncTermAllowedElements = 3020802
const int libsbmlcs.libsbml.QualFuncTermOnlyOneMath = 3020804
const int libsbmlcs.libsbml.QualFuncTermResultMustBeInteger = 3020805
const int libsbmlcs.libsbml.QualFuncTermResultMustBeNonNeg = 3020806
const int libsbmlcs.libsbml.QualFunctionTermBool = 3010201
const int libsbmlcs.libsbml.QualInitalLevelNotNegative = 3020312
const int libsbmlcs.libsbml.QualInitialLevelCannotExceedMax = 3020309
const int libsbmlcs.libsbml.QualInitialLevelMustBeInt = 3020306
const int libsbmlcs.libsbml.QualInputAllowedAttributes = 3020503
const int libsbmlcs.libsbml.QualInputAllowedCoreAttributes = 3020501
const int libsbmlcs.libsbml.QualInputAllowedElements = 3020502
const int libsbmlcs.libsbml.QualInputConstantCannotBeConsumed = 3020509
const int libsbmlcs.libsbml.QualInputNameMustBeString = 3020504
const int libsbmlcs.libsbml.QualInputQSMustBeExistingQS = 3020508
const int libsbmlcs.libsbml.QualInputSignMustBeSignEnum = 3020505
const int libsbmlcs.libsbml.QualInputThreshMustBeInteger = 3020507
const int libsbmlcs.libsbml.QualInputThreshMustBeNonNegative = 3020510
const int libsbmlcs.libsbml.QualInputTransEffectMustBeInputEffect = 3020506
const int libsbmlcs.libsbml.QualLOQualSpeciesAllowedAttributes = 3020205
const int libsbmlcs.libsbml.QualLOQualSpeciesAllowedElements = 3020204
const int libsbmlcs.libsbml.QualLOTransitiondAllowedElements = 3020203
const int libsbmlcs.libsbml.QualLOTransitionsAllowedAttributes = 3020206
const int libsbmlcs.libsbml.QualMathCSymbolDisallowed = 3010202
const int libsbmlcs.libsbml.QualMaxLevelMustBeInt = 3020307
const int libsbmlcs.libsbml.QualMaxLevelNotNegative = 3020313
const int libsbmlcs.libsbml.QualNameMustBeString = 3020305
const int libsbmlcs.libsbml.QualNSUndeclared = 3010101
const int libsbmlcs.libsbml.QualOneListOfTransOrQS = 3020201
const int libsbmlcs.libsbml.QualOutputAllowedAttributes = 3020603
const int libsbmlcs.libsbml.QualOutputAllowedCoreAttributes = 3020601
const int libsbmlcs.libsbml.QualOutputAllowedElements = 3020602
const int libsbmlcs.libsbml.QualOutputConstantMustBeFalse = 3020608
const int libsbmlcs.libsbml.QualOutputLevelMustBeInteger = 3020606
const int libsbmlcs.libsbml.QualOutputLevelMustBeNonNegative = 3020610
const int libsbmlcs.libsbml.QualOutputNameMustBeString = 3020604
const int libsbmlcs.libsbml.QualOutputProductionMustHaveLevel = 3020609
const int libsbmlcs.libsbml.QualOutputQSMustBeExistingQS = 3020607
const int libsbmlcs.libsbml.QualOutputTransEffectMustBeOutput = 3020605
const int libsbmlcs.libsbml.QualQSAssignedOnlyOnce = 3020311
const int libsbmlcs.libsbml.QualQualSpeciesAllowedAttributes = 3020303
const int libsbmlcs.libsbml.QualQualSpeciesAllowedCoreAttributes = 3020301
const int libsbmlcs.libsbml.QualQualSpeciesAllowedElements = 3020302
const int libsbmlcs.libsbml.QualRequiredTrueIfTransitions = 3020103
const int libsbmlcs.libsbml.QualTransitionAllowedAttributes = 3020403
const int libsbmlcs.libsbml.QualTransitionAllowedCoreAttributes = 3020401
const int libsbmlcs.libsbml.QualTransitionAllowedElements = 3020402
const int libsbmlcs.libsbml.QualTransitionEmptyLOElements = 3020406
const int libsbmlcs.libsbml.QualTransitionLOElements = 3020405
const int libsbmlcs.libsbml.QualTransitionLOFuncTermAttributes = 3020412
const int libsbmlcs.libsbml.QualTransitionLOFuncTermElements = 3020409
const int libsbmlcs.libsbml.QualTransitionLOFuncTermExceedMax = 3020413
const int libsbmlcs.libsbml.QualTransitionLOFuncTermNegative = 3020414
const int libsbmlcs.libsbml.QualTransitionLOInputAttributes = 3020410
const int libsbmlcs.libsbml.QualTransitionLOInputElements = 3020407
const int libsbmlcs.libsbml.QualTransitionLOOutputAttributes = 3020411
const int libsbmlcs.libsbml.QualTransitionLOOutputElements = 3020408
const int libsbmlcs.libsbml.QualTransitionNameMustBeString = 3020404
const int libsbmlcs.libsbml.QualUnknown = 3010100
const int libsbmlcs.libsbml.RateOfSpeciesTargetCompartmentNot = 10225
const int libsbmlcs.libsbml.RateOfTargetCannotBeAssigned = 10224
const int libsbmlcs.libsbml.RateOfTargetMustBeCi = 10223
const int libsbmlcs.libsbml.RateRuleCompartmentMismatch = 10531
const int libsbmlcs.libsbml.RateRuleForConstantEntity = 20904
const int libsbmlcs.libsbml.RateRuleParameterMismatch = 10533
const int libsbmlcs.libsbml.RateRuleSpeciesMismatch = 10532
const int libsbmlcs.libsbml.RateRuleStoichiometryMismatch = 10534
const int libsbmlcs.libsbml.RDFAboutTagNotMetaid = 99403
const int libsbmlcs.libsbml.RDFEmptyAboutTag = 99402
const int libsbmlcs.libsbml.RDFMissingAboutTag = 99401
const int libsbmlcs.libsbml.RDFNotCompleteModelHistory = 99404
const int libsbmlcs.libsbml.RDFNotModelHistory = 99405
const int libsbmlcs.libsbml.RecursiveCompartmentContainment = 20505
const int libsbmlcs.libsbml.RecursiveFunctionDefinition = 20303
const int libsbmlcs.libsbml.RepeatedRule10304 = 20905
const int libsbmlcs.libsbml.RepeatedRule20611 = 21112
const int libsbmlcs.libsbml.RequiredPackagePresent = 99107
const int libsbmlcs.libsbml.RULE_TYPE_INVALID = RULE_TYPE_SCALAR + 1
const int libsbmlcs.libsbml.RULE_TYPE_RATE = 0
const int libsbmlcs.libsbml.RULE_TYPE_SCALAR = RULE_TYPE_RATE + 1
const int libsbmlcs.libsbml.RuleCannotRef0DComp = 20911
const int libsbmlcs.libsbml.SBML_ALGEBRAIC_RULE = 21
const int libsbmlcs.libsbml.SBML_ASSIGNMENT_RULE = 22
const int libsbmlcs.libsbml.SBML_COMP_DELETION = 254
const int libsbmlcs.libsbml.SBML_COMP_EXTERNALMODELDEFINITION = 252
const int libsbmlcs.libsbml.SBML_COMP_MODELDEFINITION = 251
const int libsbmlcs.libsbml.SBML_COMP_PORT = 257
const int libsbmlcs.libsbml.SBML_COMP_REPLACEDBY = 256
const int libsbmlcs.libsbml.SBML_COMP_REPLACEDELEMENT = 255
const int libsbmlcs.libsbml.SBML_COMP_SBASEREF = 253
const int libsbmlcs.libsbml.SBML_COMP_SUBMODEL = 250
const int libsbmlcs.libsbml.SBML_COMPARTMENT = 1
const int libsbmlcs.libsbml.SBML_COMPARTMENT_TYPE = 2
const int libsbmlcs.libsbml.SBML_COMPARTMENT_VOLUME_RULE = 25
const int libsbmlcs.libsbml.SBML_CONSTRAINT = 3
const int libsbmlcs.libsbml.SBML_DELAY = 28
const int libsbmlcs.libsbml.SBML_DOCUMENT = 4
const int libsbmlcs.libsbml.SBML_EVENT = 5
const int libsbmlcs.libsbml.SBML_EVENT_ASSIGNMENT = 6
const int libsbmlcs.libsbml.SBML_FBC_AND = 809
const int libsbmlcs.libsbml.SBML_FBC_ASSOCIATION = 805
const int libsbmlcs.libsbml.SBML_FBC_FLUXBOUND = 801
const int libsbmlcs.libsbml.SBML_FBC_FLUXOBJECTIVE = 802
const int libsbmlcs.libsbml.SBML_FBC_GENEASSOCIATION = 803
const int libsbmlcs.libsbml.SBML_FBC_GENEPRODUCT = 807
const int libsbmlcs.libsbml.SBML_FBC_GENEPRODUCTASSOCIATION = 806
const int libsbmlcs.libsbml.SBML_FBC_GENEPRODUCTREF = 808
const int libsbmlcs.libsbml.SBML_FBC_OBJECTIVE = 804
const int libsbmlcs.libsbml.SBML_FBC_OR = 810
const int libsbmlcs.libsbml.SBML_FBC_V1ASSOCIATION = 800
const int libsbmlcs.libsbml.SBML_FUNCTION_DEFINITION = 7
const int libsbmlcs.libsbml.SBML_GENERIC_SBASE = 32
const int libsbmlcs.libsbml.SBML_GROUPS_GROUP = 501
const int libsbmlcs.libsbml.SBML_GROUPS_MEMBER = 500
const int libsbmlcs.libsbml.SBML_INITIAL_ASSIGNMENT = 8
const int libsbmlcs.libsbml.SBML_KINETIC_LAW = 9
const int libsbmlcs.libsbml.SBML_LAYOUT_BOUNDINGBOX = 100
const int libsbmlcs.libsbml.SBML_LAYOUT_COMPARTMENTGLYPH = 101
const int libsbmlcs.libsbml.SBML_LAYOUT_CUBICBEZIER = 102
const int libsbmlcs.libsbml.SBML_LAYOUT_CURVE = 103
const int libsbmlcs.libsbml.SBML_LAYOUT_DIMENSIONS = 104
const int libsbmlcs.libsbml.SBML_LAYOUT_GENERALGLYPH = 114
const int libsbmlcs.libsbml.SBML_LAYOUT_GRAPHICALOBJECT = 105
const int libsbmlcs.libsbml.SBML_LAYOUT_LAYOUT = 106
const int libsbmlcs.libsbml.SBML_LAYOUT_LINESEGMENT = 107
const int libsbmlcs.libsbml.SBML_LAYOUT_POINT = 108
const int libsbmlcs.libsbml.SBML_LAYOUT_REACTIONGLYPH = 109
const int libsbmlcs.libsbml.SBML_LAYOUT_REFERENCEGLYPH = 113
const int libsbmlcs.libsbml.SBML_LAYOUT_SPECIESGLYPH = 110
const int libsbmlcs.libsbml.SBML_LAYOUT_SPECIESREFERENCEGLYPH = 111
const int libsbmlcs.libsbml.SBML_LAYOUT_TEXTGLYPH = 112
const int libsbmlcs.libsbml.SBML_LIST_OF = 10
const int libsbmlcs.libsbml.SBML_LOCAL_PARAMETER = 30
const int libsbmlcs.libsbml.SBML_MODEL = 11
const int libsbmlcs.libsbml.SBML_MODIFIER_SPECIES_REFERENCE = 18
const int libsbmlcs.libsbml.SBML_MULTI_BINDING_SITE_SPECIES_TYPE = 1411
const int libsbmlcs.libsbml.SBML_MULTI_COMPARTMENT_REFERENCE = 1402
const int libsbmlcs.libsbml.SBML_MULTI_IN_SPECIES_TYPE_BOND = 1404
const int libsbmlcs.libsbml.SBML_MULTI_INTRA_SPECIES_REACTION = 1412
const int libsbmlcs.libsbml.SBML_MULTI_OUTWARD_BINDING_SITE = 1405
const int libsbmlcs.libsbml.SBML_MULTI_POSSIBLE_SPECIES_FEATURE_VALUE = 1400
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_FEATURE = 1408
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_FEATURE_TYPE = 1406
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_FEATURE_VALUE = 1401
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_TYPE = 1410
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_TYPE_COMPONENT_INDEX = 1407
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_TYPE_COMPONENT_MAP_IN_PRODUCT = 1409
const int libsbmlcs.libsbml.SBML_MULTI_SPECIES_TYPE_INSTANCE = 1403
const int libsbmlcs.libsbml.SBML_MULTI_SUBLIST_OF_SPECIES_FEATURES = 1413
const int libsbmlcs.libsbml.SBML_PARAMETER = 12
const int libsbmlcs.libsbml.SBML_PARAMETER_RULE = 26
const int libsbmlcs.libsbml.SBML_PRIORITY = 31
const int libsbmlcs.libsbml.SBML_QUAL_DEFAULT_TERM = 1105
const int libsbmlcs.libsbml.SBML_QUAL_FUNCTION_TERM = 1104
const int libsbmlcs.libsbml.SBML_QUAL_INPUT = 1102
const int libsbmlcs.libsbml.SBML_QUAL_OUTPUT = 1103
const int libsbmlcs.libsbml.SBML_QUAL_QUALITATIVE_SPECIES = 1100
const int libsbmlcs.libsbml.SBML_QUAL_TRANSITION = 1101
const int libsbmlcs.libsbml.SBML_RATE_RULE = 23
const int libsbmlcs.libsbml.SBML_REACTION = 13
const int libsbmlcs.libsbml.SBML_RENDER_COLORDEFINITION = 1000
const int libsbmlcs.libsbml.SBML_RENDER_CUBICBEZIER = 1019
const int libsbmlcs.libsbml.SBML_RENDER_CURVE = 1020
const int libsbmlcs.libsbml.SBML_RENDER_DEFAULTS = 1024
const int libsbmlcs.libsbml.SBML_RENDER_ELLIPSE = 1001
const int libsbmlcs.libsbml.SBML_RENDER_GLOBALRENDERINFORMATION = 1002
const int libsbmlcs.libsbml.SBML_RENDER_GLOBALSTYLE = 1003
const int libsbmlcs.libsbml.SBML_RENDER_GRADIENT_STOP = 1005
const int libsbmlcs.libsbml.SBML_RENDER_GRADIENTDEFINITION = 1004
const int libsbmlcs.libsbml.SBML_RENDER_GRAPHICALPRIMITIVE1D = 1026
const int libsbmlcs.libsbml.SBML_RENDER_GRAPHICALPRIMITIVE2D = 1027
const int libsbmlcs.libsbml.SBML_RENDER_GROUP = 1006
const int libsbmlcs.libsbml.SBML_RENDER_IMAGE = 1007
const int libsbmlcs.libsbml.SBML_RENDER_LINEARGRADIENT = 1009
const int libsbmlcs.libsbml.SBML_RENDER_LINEENDING = 1008
const int libsbmlcs.libsbml.SBML_RENDER_LINESEGMENT = 1010
const int libsbmlcs.libsbml.SBML_RENDER_LISTOFGLOBALSTYLES = 1011
const int libsbmlcs.libsbml.SBML_RENDER_LISTOFLOCALSTYLES = 1012
const int libsbmlcs.libsbml.SBML_RENDER_LOCALRENDERINFORMATION = 1013
const int libsbmlcs.libsbml.SBML_RENDER_LOCALSTYLE = 1014
const int libsbmlcs.libsbml.SBML_RENDER_POINT = 1021
const int libsbmlcs.libsbml.SBML_RENDER_POLYGON = 1015
const int libsbmlcs.libsbml.SBML_RENDER_RADIALGRADIENT = 1016
const int libsbmlcs.libsbml.SBML_RENDER_RECTANGLE = 1017
const int libsbmlcs.libsbml.SBML_RENDER_RELABSVECTOR = 1018
const int libsbmlcs.libsbml.SBML_RENDER_RENDERINFORMATION_BASE = 1029
const int libsbmlcs.libsbml.SBML_RENDER_STYLE_BASE = 1028
const int libsbmlcs.libsbml.SBML_RENDER_TEXT = 1022
const int libsbmlcs.libsbml.SBML_RENDER_TRANSFORMATION = 1025
const int libsbmlcs.libsbml.SBML_RENDER_TRANSFORMATION2D = 1023
const int libsbmlcs.libsbml.SBML_RULE = 14
const int libsbmlcs.libsbml.SBML_SPECIES = 15
const int libsbmlcs.libsbml.SBML_SPECIES_CONCENTRATION_RULE = 24
const int libsbmlcs.libsbml.SBML_SPECIES_REFERENCE = 16
const int libsbmlcs.libsbml.SBML_SPECIES_TYPE = 17
const int libsbmlcs.libsbml.SBML_STOICHIOMETRY_MATH = 29
const int libsbmlcs.libsbml.SBML_TRIGGER = 27
const int libsbmlcs.libsbml.SBML_UNIT = 20
const int libsbmlcs.libsbml.SBML_UNIT_DEFINITION = 19
const int libsbmlcs.libsbml.SBML_UNKNOWN = 0
const int libsbmlcs.libsbml.SBMLCheckOFF = 0xfd
const int libsbmlcs.libsbml.SBMLCheckON = 0x02
const int libsbmlcs.libsbml.SBMLCodesUpperBound = 99999
const int libsbmlcs.libsbml.SBMLNamespaceInAnnotation = 10403
const int libsbmlcs.libsbml.SBOCheckOFF = 0xfb
const int libsbmlcs.libsbml.SBOCheckON = 0x04
const int libsbmlcs.libsbml.SBOTermNotUniversalInL2v2 = 93001
const int libsbmlcs.libsbml.SBOTermNotValidAttributeBeforeL2V2 = 99911
const int libsbmlcs.libsbml.SBOTermNotValidAttributeBeforeL2V3 = 99905
const int libsbmlcs.libsbml.SpatialSizeUnitsNotValidAttribute = 99917
const int libsbmlcs.libsbml.SpatialSizeUnitsRemoved = 20615
const int libsbmlcs.libsbml.SpatialUnitsInOneD = 20605
const int libsbmlcs.libsbml.SpatialUnitsInThreeD = 20607
const int libsbmlcs.libsbml.SpatialUnitsInTwoD = 20606
const int libsbmlcs.libsbml.SPECIES_ROLE_ACTIVATOR = SPECIES_ROLE_MODIFIER + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_INHIBITOR = SPECIES_ROLE_ACTIVATOR + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_INVALID = SPECIES_ROLE_INHIBITOR + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_MODIFIER = SPECIES_ROLE_SIDEPRODUCT + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_PRODUCT = SPECIES_ROLE_SUBSTRATE + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SIDEPRODUCT = SPECIES_ROLE_SIDESUBSTRATE + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SIDESUBSTRATE = SPECIES_ROLE_PRODUCT + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_SUBSTRATE = SPECIES_ROLE_UNDEFINED + 1
const int libsbmlcs.libsbml.SPECIES_ROLE_UNDEFINED = 0
const int libsbmlcs.libsbml.SpeciesCompartmentRequiredInL1 = 91011
const int libsbmlcs.libsbml.SpeciesInvalidExtentUnits = 10542
const int libsbmlcs.libsbml.SpeciesRefIdInMathMLNotSupported = 98011
const int libsbmlcs.libsbml.SpeciesShouldHaveValue = 80601
const int libsbmlcs.libsbml.SpeciesTypeNotValidAttribute = 99918
const int libsbmlcs.libsbml.SpeciesTypeNotValidComponent = 99922
const int libsbmlcs.libsbml.StoichiometryMathMissingMath = 99131
const int libsbmlcs.libsbml.StoichiometryMathNotValidComponent = 99923
const int libsbmlcs.libsbml.StoichiometryMathNotYetSupported = 92010
const int libsbmlcs.libsbml.StrictSBORequiredInL2v2 = 93008
const int libsbmlcs.libsbml.StrictSBORequiredInL2v3 = 94009
const int libsbmlcs.libsbml.StrictUnitsRequiredInL1 = 91014
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v1 = 92008
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v2 = 93007
const int libsbmlcs.libsbml.StrictUnitsRequiredInL2v3 = 94008
const int libsbmlcs.libsbml.SubstanceUnitsOnSpecies = 20616
const int libsbmlcs.libsbml.SubsUnitsAllowedInKL = 99127
const int libsbmlcs.libsbml.SubsUnitsNoLongerValid = 21125
const int libsbmlcs.libsbml.ThreeDimensionalCompartmentUnits = 20513
const int libsbmlcs.libsbml.TimeUnitsAllowedInKL = 99128
const int libsbmlcs.libsbml.TimeUnitsEvent = 21204
const int libsbmlcs.libsbml.TimeUnitsNoLongerValid = 21126
const int libsbmlcs.libsbml.TimeUnitsRemoved = 99206
const int libsbmlcs.libsbml.TriggerMathNotBoolean = 21202
const int libsbmlcs.libsbml.TwoDimensionalCompartmentUnits = 20512
const int libsbmlcs.libsbml.UnclosedXMLToken = 1007
const int libsbmlcs.libsbml.UndeclaredExtentUnitsL3 = 99507
const int libsbmlcs.libsbml.UndeclaredObjectUnitsL3 = 99508
const int libsbmlcs.libsbml.UndeclaredSpeciesInStoichMath = 21131
const int libsbmlcs.libsbml.UndeclaredSpeciesRef = 21121
const int libsbmlcs.libsbml.UndeclaredTimeUnitsL3 = 99506
const int libsbmlcs.libsbml.UndeclaredUnits = 99505
const int libsbmlcs.libsbml.UndefinedOutsideCompartment = 20504
const int libsbmlcs.libsbml.UndefinedXMLEntity = 1011
const int libsbmlcs.libsbml.UninterpretableXMLContent = 1027
const int libsbmlcs.libsbml.UNIT_KIND_AMPERE = 0
const int libsbmlcs.libsbml.UNIT_KIND_AVOGADRO = UNIT_KIND_AMPERE + 1
const int libsbmlcs.libsbml.UNIT_KIND_BECQUEREL = UNIT_KIND_AVOGADRO + 1
const int libsbmlcs.libsbml.UNIT_KIND_CANDELA = UNIT_KIND_BECQUEREL + 1
const int libsbmlcs.libsbml.UNIT_KIND_CELSIUS = UNIT_KIND_CANDELA + 1
const int libsbmlcs.libsbml.UNIT_KIND_COULOMB = UNIT_KIND_CELSIUS + 1
const int libsbmlcs.libsbml.UNIT_KIND_DIMENSIONLESS = UNIT_KIND_COULOMB + 1
const int libsbmlcs.libsbml.UNIT_KIND_FARAD = UNIT_KIND_DIMENSIONLESS + 1
const int libsbmlcs.libsbml.UNIT_KIND_GRAM = UNIT_KIND_FARAD + 1
const int libsbmlcs.libsbml.UNIT_KIND_GRAY = UNIT_KIND_GRAM + 1
const int libsbmlcs.libsbml.UNIT_KIND_HENRY = UNIT_KIND_GRAY + 1
const int libsbmlcs.libsbml.UNIT_KIND_HERTZ = UNIT_KIND_HENRY + 1
const int libsbmlcs.libsbml.UNIT_KIND_INVALID = UNIT_KIND_WEBER + 1
const int libsbmlcs.libsbml.UNIT_KIND_ITEM = UNIT_KIND_HERTZ + 1
const int libsbmlcs.libsbml.UNIT_KIND_JOULE = UNIT_KIND_ITEM + 1
const int libsbmlcs.libsbml.UNIT_KIND_KATAL = UNIT_KIND_JOULE + 1
const int libsbmlcs.libsbml.UNIT_KIND_KELVIN = UNIT_KIND_KATAL + 1
const int libsbmlcs.libsbml.UNIT_KIND_KILOGRAM = UNIT_KIND_KELVIN + 1
const int libsbmlcs.libsbml.UNIT_KIND_LITER = UNIT_KIND_KILOGRAM + 1
const int libsbmlcs.libsbml.UNIT_KIND_LITRE = UNIT_KIND_LITER + 1
const int libsbmlcs.libsbml.UNIT_KIND_LUMEN = UNIT_KIND_LITRE + 1
const int libsbmlcs.libsbml.UNIT_KIND_LUX = UNIT_KIND_LUMEN + 1
const int libsbmlcs.libsbml.UNIT_KIND_METER = UNIT_KIND_LUX + 1
const int libsbmlcs.libsbml.UNIT_KIND_METRE = UNIT_KIND_METER + 1
const int libsbmlcs.libsbml.UNIT_KIND_MOLE = UNIT_KIND_METRE + 1
const int libsbmlcs.libsbml.UNIT_KIND_NEWTON = UNIT_KIND_MOLE + 1
const int libsbmlcs.libsbml.UNIT_KIND_OHM = UNIT_KIND_NEWTON + 1
const int libsbmlcs.libsbml.UNIT_KIND_PASCAL = UNIT_KIND_OHM + 1
const int libsbmlcs.libsbml.UNIT_KIND_RADIAN = UNIT_KIND_PASCAL + 1
const int libsbmlcs.libsbml.UNIT_KIND_SECOND = UNIT_KIND_RADIAN + 1
const int libsbmlcs.libsbml.UNIT_KIND_SIEMENS = UNIT_KIND_SECOND + 1
const int libsbmlcs.libsbml.UNIT_KIND_SIEVERT = UNIT_KIND_SIEMENS + 1
const int libsbmlcs.libsbml.UNIT_KIND_STERADIAN = UNIT_KIND_SIEVERT + 1
const int libsbmlcs.libsbml.UNIT_KIND_TESLA = UNIT_KIND_STERADIAN + 1
const int libsbmlcs.libsbml.UNIT_KIND_VOLT = UNIT_KIND_TESLA + 1
const int libsbmlcs.libsbml.UNIT_KIND_WATT = UNIT_KIND_VOLT + 1
const int libsbmlcs.libsbml.UNIT_KIND_WEBER = UNIT_KIND_WATT + 1
const int libsbmlcs.libsbml.UnitsCheckOFF = 0xef
const int libsbmlcs.libsbml.UnitsCheckON = 0x10
const int libsbmlcs.libsbml.UnitsNotValidAttribute = 99915
const int libsbmlcs.libsbml.UNKNOWN_ASSOCIATION = 3
const int libsbmlcs.libsbml.UNKNOWN_QUALIFIER = BIOLOGICAL_QUALIFIER + 1
const int libsbmlcs.libsbml.UnknownCoreAttribute = 99994
const int libsbmlcs.libsbml.UnknownError = 10000
const int libsbmlcs.libsbml.UnknownPackageAttribute = 99995
const int libsbmlcs.libsbml.UnrecognisedSBOTerm = 99701
const int libsbmlcs.libsbml.UnrecognizedElement = 10102
const int libsbmlcs.libsbml.UnrecognizedXMLElement = 1021
const int libsbmlcs.libsbml.UnrecognizedXMLParserCode = 102
const int libsbmlcs.libsbml.UnrequiredPackagePresent = 99108
const int libsbmlcs.libsbml.UpperUnitBound = 10599
const int libsbmlcs.libsbml.V_TEXTANCHOR_BASELINE = V_TEXTANCHOR_BOTTOM + 1
const int libsbmlcs.libsbml.V_TEXTANCHOR_BOTTOM = V_TEXTANCHOR_MIDDLE + 1
const int libsbmlcs.libsbml.V_TEXTANCHOR_INVALID = V_TEXTANCHOR_BASELINE + 1
const int libsbmlcs.libsbml.V_TEXTANCHOR_MIDDLE = V_TEXTANCHOR_TOP + 1
const int libsbmlcs.libsbml.V_TEXTANCHOR_TOP = V_TEXTANCHOR_UNSET + 1
const int libsbmlcs.libsbml.V_TEXTANCHOR_UNSET = 0
const int libsbmlcs.libsbml.ValuesFromTriggerTimeNeedDelay = 21206
const int libsbmlcs.libsbml.VariableNotValidAttribute = 99914
const int libsbmlcs.libsbml.VersionPositiveInteger = 20106
const int libsbmlcs.libsbml.VolumeLitreDefExponentNotOne = 20407
const int libsbmlcs.libsbml.VolumeMetreDefExponentNot3 = 20408
const int libsbmlcs.libsbml.XMLAttributeTypeMismatch = 1016
const int libsbmlcs.libsbml.XMLBadColon = 1033
const int libsbmlcs.libsbml.XMLBadNumber = 1032
const int libsbmlcs.libsbml.XMLBadUTF8Content = 1017
const int libsbmlcs.libsbml.XMLContentEmpty = 1035
const int libsbmlcs.libsbml.XMLEmptyValueNotPermitted = 1031
const int libsbmlcs.libsbml.XMLErrorCodesUpperBound = 9999
const int libsbmlcs.libsbml.XMLExpectedQuotedString = 1030
const int libsbmlcs.libsbml.XMLFileOperationError = 4
const int libsbmlcs.libsbml.XMLFileUnreadable = 2
const int libsbmlcs.libsbml.XMLFileUnwritable = 3
const int libsbmlcs.libsbml.XMLNetworkAccessError = 5
const int libsbmlcs.libsbml.XMLOutOfMemory = 1
const int libsbmlcs.libsbml.XMLTagMismatch = 1009
const int libsbmlcs.libsbml.XMLTranscoderError = 103
const int libsbmlcs.libsbml.XMLUnexpectedEOF = 1024
const int libsbmlcs.libsbml.XMLUnknownError = 0
const int libsbmlcs.libsbml.ZeroDCompartmentContainment = 20506
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentConst = 20503
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentSize = 20501
const int libsbmlcs.libsbml.ZeroDimensionalCompartmentUnits = 20502