libSBML C++ API  5.20.4
SBMLError Class Reference
Inheritance diagram for SBMLError:
[legend]

Detailed Description

An error, warning or other diagnostic.

This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.

When a libSBML operation on SBML content results in an error, or when there is something wrong with the SBML content, the problems are reported as SBMLError objects. These are generally stored in an SBMLErrorLog object; this log object, in turn, is kept in the SBMLDocument object containing the SBML content. Applications can obtain the list of logged errors using SBMLDocument::getErrorLog() and then use the methods provided by SBMLErrorLog to access individual SBMLError objects. (Note that despite the word "error" in the name, SBMLError objects are used to represent not only "true" errors, but also warnings and some informational diagnostics. The name is a historical hold-over from early versions of libSBML, in which the object really was only used to report errors.)

Each SBMLError object instance has an identification number that identifies the nature of the problem. This "error id" number will be up to five digits long, and it will be listed in one of two enumerations: SBMLErrorCode_t (described below) or XMLErrorCode_t (described in the documentation for the class XMLError). The former enumeration contains all the SBML validation rule numbers listed in the appendices of the SBML specification documents, as well as some additional libSBML-specific error codes.

Error codes are useful mainly for software. For human readers, SBMLError also includes text messages that describe the nature of a given problem. The messages can be accessed using SBMLError::getShortMessage() and SBMLError::getMessage(). The former provides a brief one-line description of the issue, while SBMLError::getMessage() provides a more detailed text, including (if appropriate) references to sections of the SBML specifications where relevant topics are discussed. These text strings are suitable for displaying to human users.

An SBMLError object also contains a category code; its value may be retrieved using the method SBMLError::getCategory(). Category values are drawn from the enumeration SBMLErrorCategory_t described below. Categories are used to partition errors into distinct conceptual groups. This is principally used by the libSBML validation system to group classes of validation checks. For example, LIBSBML_CAT_IDENTIFIER_CONSISTENCY is the category for tests that check identifier consistency; LIBSBML_CAT_MATHML_CONSISTENCY is the category for MathML consistency checking; and so on.

In addition, SBMLError also has a severity code. Its value may be retrieved using the method SBMLError::getSeverity(). The possible severity values are the same as those reported by XMLError. Severity levels currently range from informational (LIBSBML_SEV_INFO) to fatal errors (LIBSBML_SEV_FATAL). They can be used by an application to evaluate how serious a given problem is.

SBMLError also tracks the Level 3 package extension, if any, was responsible for a given warning or error. Each diagnostic code logged by an libSBML extension for SBML Level 3 packages includes a record of the package that logged it. It can be retrieved using SBMLError::getPackage(). The information is a simple text string; the string will be the nickname of the package, such as "comp" for the Hierarchical Model Composition package, "fbc" for the Flux Balance Constraints package, and so on. If the value returned by SBMLError::getPackage() is an empty string or has the value "core", then the error came from libSBML core.

Finally, SBMLError records the line and column near where the problem occurred in the SBML content. The values may be retrieved using the methods SBMLError::getLine() and SBMLError::getColumn(). We say "near", because a lot of factors affect how accurate the line/column information ultimately is. For example, different XML parsers have different conventions for which line and column number they report for a particular problem (which makes a difference when a problem involves an opening XML tag on one line and a closing tag on another line). In some situations, some parsers report invalid line and/or column numbers altogether. If this occurs, libSBML sets the line and/or column number in the SBMLError object to the the value of the maximum unsigned long integer representable on the platform where libSBML is running. (This is equal to the constant named ULONG_MAX in C and C++.) The probability that a true line or column number in an SBML model would equal this value is vanishingly small; thus, if an application encounters these values in an XMLError object, it can assume no valid line/column number could be provided by libSBML in that situation.

SBMLErrorCode_t

SBMLErrorCode_t is an enumeration of all SBML-level error, warning and informational diagnostic codes. Every SBMLError object has an error code value that can be either a value from this enumeration, or a value from the XMLErrorCode_t enumeration (see the documentation for XMLError). The latter values apply when the error or warning signifies a basic XML issue rather than an SBML issue per se. The values of SBMLErrorCode_t are distinguished from those of XMLErrorCode_t by being numbered 10000 and higher, while the XML layer's codes are 9999 and lower. The method SBMLError::getErrorId() returns the error code of a given SBMLError object instance.

The following is a table of the symbolic names of SBMLErrorCode_t values and the meaning of each code. In this table, the right-hand columns titled "L1V1", "L1V2", etc. refer to Levels and Versions of the SBML specifications, and the entries in each column refer to whether the severity of the condition in that particular Level+Version of SBML. The codes stand for the following:

= Not applicable
= Warning
= Error
= Fatal

The text shown in the "Meaning" is the text returned by the SBMLError::getShortMessage() method on a given SBMLError object. A longer and (hopefully) clearer explanation of the issue is returned by SBMLError::getMessage().

The error codes come from different lists depending on whether they're from libSBML core or from an SBML Level 3 package extension. The errors below come from XMLErrorCode_t and SBMLErrorCode_t (for core), and CompSBMLErrorCode_t, FbcSBMLErrorCode_t, LayoutSBMLErrorCode_t, and QualSBMLErrorCode_t (for packages).

Enumerator Meaning L1 V1 L1 V2 L2 V1 L2 V2 L2 V3 L2 V4 L3 V1 L3 V2
XMLUnknownError Unknown error
XMLOutOfMemory Out of memory
XMLFileUnreadable File unreadable
XMLFileUnwritable File unwritable
XMLFileOperationError File operation error
XMLNetworkAccessError Network access error
InternalXMLParserError Internal XML parser error
UnrecognizedXMLParserCode Unrecognized XML parser code
XMLTranscoderError Transcoder error
MissingXMLDecl Missing XML declaration
MissingXMLEncoding Missing XML encoding attribute
BadXMLDecl Bad XML declaration
BadXMLDOCTYPE Bad XML DOCTYPE
InvalidCharInXML Invalid character
BadlyFormedXML Badly formed XML
UnclosedXMLToken Unclosed token
InvalidXMLConstruct Invalid XML construct
XMLTagMismatch XML tag mismatch
DuplicateXMLAttribute Duplicate attribute
UndefinedXMLEntity Undefined XML entity
BadProcessingInstruction Bad XML processing instruction
BadXMLPrefix Bad XML prefix
BadXMLPrefixValue Bad XML prefix value
MissingXMLRequiredAttribute Missing required attribute
XMLAttributeTypeMismatch Attribute type mismatch
XMLBadUTF8Content Bad UTF8 content
MissingXMLAttributeValue Missing attribute value
BadXMLAttributeValue Bad attribute value
BadXMLAttribute Bad XML attribute
UnrecognizedXMLElement Unrecognized XML element
BadXMLComment Bad XML comment
BadXMLDeclLocation Bad XML declaration location
XMLUnexpectedEOF Unexpected EOF
BadXMLIDValue Bad XML ID value
BadXMLIDRef Bad XML IDREF
UninterpretableXMLContent Uninterpretable XML content
BadXMLDocumentStructure Bad XML document structure
InvalidAfterXMLContent Invalid content after XML content
XMLExpectedQuotedString Expected quoted string
XMLEmptyValueNotPermitted Empty value not permitted
XMLBadNumber Bad number
XMLBadColon Colon character not permitted
MissingXMLElements Missing XML elements
XMLContentEmpty Empty XML content
UnknownError Encountered unknown internal libSBML error
NotUTF8 File does not use UTF-8 encoding
UnrecognizedElement Encountered unrecognized element
NotSchemaConformant Document does not conform to the SBML XML schema
L3NotSchemaConformant Document is not well-formed XML
InvalidMathElement Invalid MathML
DisallowedMathMLSymbol Disallowed MathML symbol found
DisallowedMathMLEncodingUse Use of the MathML 'encoding' attribute is not allowed on this element
DisallowedDefinitionURLUse Use of the MathML 'definitionURL' attribute is not allowed on this element
BadCsymbolDefinitionURLValue Invalid <csymbol> 'definitionURL' attribute value
DisallowedMathTypeAttributeUse Use of the MathML 'type' attribute is not allowed on this element
DisallowedMathTypeAttributeValue Disallowed MathML 'type' attribute value
LambdaOnlyAllowedInFunctionDef Use of <lambda> not permitted outside of FunctionDefinition objects
BooleanOpsNeedBooleanArgs Non-Boolean argument given to Boolean operator
NumericOpsNeedNumericArgs Non-numerical argument given to numerical operator
ArgsToEqNeedSameType Arguments to <eq> and <neq> must have the same data types
PiecewiseNeedsConsistentTypes Terms in a <piecewise> expression must have consistent data types
PieceNeedsBoolean The second argument of a <piece> expression must yield a Boolean value
ApplyCiMustBeUserFunction A <ci> element in this context must refer to a function definition
ApplyCiMustBeModelComponent A <ci> element in this context must refer to a model component
KineticLawParametersAreLocalOnly Cannot use a KineticLaw local parameter outside of its local scope
MathResultMustBeNumeric A formula's result in this context must be a numerical value
OpsNeedCorrectNumberOfArgs Incorrect number of arguments given to MathML operator
InvalidNoArgsPassedToFunctionDef Incorrect number of arguments given to function invocation
DisallowedMathUnitsUse Attribute 'units' is only permitted on <cn> elements
InvalidUnitsValue Invalid value given for the 'units' attribute
CiCannotReference0DCompartment A <ci> element cannot reference a 0D compartment
RateOfTargetMustBeCi A 'rateOf' <csymbol> must target only a single <ci> element
RateOfTargetCannotBeAssigned The target of a 'rateOf' <csymbol> cannot be assigned
RateOfSpeciesTargetCompartmentNot Compartments of non-substance <species> referenced by 'rateOf' must not vary
DuplicateComponentId Duplicate 'id' attribute value
DuplicateUnitDefinitionId Duplicate unit definition 'id' attribute value
DuplicateLocalParameterId Duplicate local parameter 'id' attribute value
MultipleAssignmentOrRateRules Multiple rules for the same variable are not allowed
MultipleEventAssignmentsForId Multiple event assignments for the same variable are not allowed
EventAndAssignmentRuleForId An event assignment and an assignment rule must not have the same value for 'variable'
DuplicateMetaId Duplicate 'metaid' attribute value
InvalidSBOTermSyntax Invalid syntax for an 'sboTerm' attribute value
InvalidMetaidSyntax Invalid syntax for a 'metaid' attribute value
InvalidIdSyntax Invalid syntax for an 'id' attribute value
InvalidUnitIdSyntax Invalid syntax for the identifier of a unit
InvalidNameSyntax Invalid syntax for a 'name' attribute value
DanglingUnitReference Dangling reference to a unit.
MissingAnnotationNamespace Missing declaration of the XML namespace for the annotation
DuplicateAnnotationNamespaces Multiple annotations using the same XML namespace
SBMLNamespaceInAnnotation The SBML XML namespace cannot be used in an Annotation object
MultipleAnnotations Only one Annotation object is permitted under a given SBML object
InconsistentArgUnits The units of the function call's arguments are not consistent with its definition
InconsistentKineticLawUnitsL3 The kinetic law's units are inconsistent with those of other kinetic laws in the model
AssignRuleCompartmentMismatch Mismatched units in assignment rule for compartment
AssignRuleSpeciesMismatch Mismatched units in assignment rule for species
AssignRuleParameterMismatch Mismatched units in assignment rule for parameter
AssignRuleStoichiometryMismatch Mismatched units in assignment rule for stoichiometry
InitAssignCompartmenMismatch Mismatched units in initial assignment to compartment
InitAssignSpeciesMismatch Mismatched units in initial assignment to species
InitAssignParameterMismatch Mismatched units in initial assignment to parameter
InitAssignStoichiometryMismatch Mismatched units in initial assignment to stoichiometry
RateRuleCompartmentMismatch Mismatched units in rate rule for compartment
RateRuleSpeciesMismatch Mismatched units in rate rule for species
RateRuleParameterMismatch Mismatched units in rate rule for parameter
RateRuleStoichiometryMismatch Mismatched units in rate rule for stoichiometry
KineticLawNotSubstancePerTime The units of the kinetic law are not 'substance'/'time'
SpeciesInvalidExtentUnits The species' units are not consistent with units of extent
DelayUnitsNotTime The units of the delay expression are not units of time
EventAssignCompartmentMismatch Mismatched units in event assignment for compartment
EventAssignSpeciesMismatch Mismatched units in event assignment for species
EventAssignParameterMismatch Mismatched units in event assignment for parameter
EventAssignStoichiometryMismatch Mismatched units in event assignment for stoichiometry
PriorityUnitsNotDimensionless The units of a priority expression must be 'dimensionless'
OverdeterminedSystem The model is overdetermined
InvalidModelSBOTerm Invalid 'sboTerm' attribute value for a Model object
InvalidFunctionDefSBOTerm Invalid 'sboTerm' attribute value for a FunctionDefinition object
InvalidParameterSBOTerm Invalid 'sboTerm' attribute value for a Parameter object
InvalidInitAssignSBOTerm Invalid 'sboTerm' attribute value for an InitialAssignment object
InvalidRuleSBOTerm Invalid 'sboTerm' attribute value for a Rule object
InvalidConstraintSBOTerm Invalid 'sboTerm' attribute value for a Constraint object
InvalidReactionSBOTerm Invalid 'sboTerm' attribute value for a Reaction object
InvalidSpeciesReferenceSBOTerm Invalid 'sboTerm' attribute value for a SpeciesReference object
InvalidKineticLawSBOTerm Invalid 'sboTerm' attribute value for a KineticLaw object
InvalidEventSBOTerm Invalid 'sboTerm' attribute value for an Event object
InvalidEventAssignmentSBOTerm Invalid 'sboTerm' attribute value for an EventAssignment object
InvalidCompartmentSBOTerm Invalid 'sboTerm' attribute value for a Compartment object
InvalidSpeciesSBOTerm Invalid 'sboTerm' attribute value for a Species object
InvalidCompartmentTypeSBOTerm Invalid 'sboTerm' attribute value for a CompartmentType object
InvalidSpeciesTypeSBOTerm Invalid 'sboTerm' attribute value for a SpeciesType object
InvalidTriggerSBOTerm Invalid 'sboTerm' attribute value for an Event Trigger object
InvalidDelaySBOTerm Invalid 'sboTerm' attribute value for an Event Delay object
InvalidLocalParameterSBOTerm Invalid 'sboTerm' attribute value for a LocalParameter object
InvalidSBMLElementSBOTerm Invalid 'sboTerm' attribute value for the <sbml> element
NotesNotInXHTMLNamespace Notes must be placed in the XHTML XML namespace
NotesContainsXMLDecl XML declarations are not permitted in Notes objects
NotesContainsDOCTYPE XML DOCTYPE elements are not permitted in Notes objects
InvalidNotesContent Invalid notes content found
OnlyOneNotesElementAllowed Only one Notes subobject is permitted on a given SBML object
InvalidNamespaceOnSBML Invalid XML namespace for the SBML container element
MissingOrInconsistentLevel Missing or inconsistent value for the 'level' attribute
MissingOrInconsistentVersion Missing or inconsistent value for the 'version' attribute
PackageNSMustMatch Inconsistent or invalid SBML Level/Version for the package namespace declaration
LevelPositiveInteger The 'level' attribute must have a positive integer value
VersionPositiveInteger The 'version' attribute must have a positive integer value
AllowedAttributesOnSBML Invalid attribute found on the SBML container element
L3PackageOnLowerSBML An L3 package ns found on the SBML container element
MissingModel No model definition found
IncorrectOrderInModel Incorrect ordering of components within the Model object
EmptyListElement Empty ListOf___ object found
NeedCompartmentIfHaveSpecies The presence of a species requires a compartment
OneOfEachListOf Only one of each kind of ListOf___ object is allowed inside a Model object
OnlyFuncDefsInListOfFuncDefs Only FunctionDefinition, Notes and Annotation objects are allowed in ListOfFunctionDefinitions
OnlyUnitDefsInListOfUnitDefs Only UnitDefinition, Notes and Annotation objects are allowed in ListOfUnitDefinitions objects
OnlyCompartmentsInListOfCompartments Only Compartment, Notes and Annotation objects are allowed in ListOfCompartments objects
OnlySpeciesInListOfSpecies Only Species, Notes and Annotation objects are allowed in ListOfSpecies objects
OnlyParametersInListOfParameters Only Parameter, Notes and Annotation objects are allowed in ListOfParameters objects
OnlyInitAssignsInListOfInitAssigns Only InitialAssignment, Notes and Annotation objects are allowed in ListOfInitialAssignments objects
OnlyRulesInListOfRules Only Rule, Notes and Annotation objects are allowed in ListOfRules objects
OnlyConstraintsInListOfConstraints Only Constraint, Notes and Annotation objects are allowed in ListOfConstraints objects
OnlyReactionsInListOfReactions Only Reaction, Notes and Annotation objects are allowed in ListOfReactions objects
OnlyEventsInListOfEvents Only Event, Notes and Annotation objects are allowed in ListOfEvents objects
L3ConversionFactorOnModel A 'conversionFactor' attribute value must reference a Parameter object
L3TimeUnitsOnModel Invalid 'timeUnits' attribute value
L3VolumeUnitsOnModel Invalid 'volumeUnits' attribute value
L3AreaUnitsOnModel Invalid 'areaUnits' attribute value
L3LengthUnitsOnModel Invalid 'lengthUnits' attribute value
L3ExtentUnitsOnModel Invalid 'extentUnits' attribute value
AllowedAttributesOnModel Invalid attribute found on the Model object
AllowedAttributesOnListOfFuncs Invalid attribute found on the ListOfFunctionDefinitions object
AllowedAttributesOnListOfUnitDefs Invalid attribute found on the ListOfUnitDefinitions object
AllowedAttributesOnListOfComps Invalid attribute found on the ListOfCompartments object
AllowedAttributesOnListOfSpecies Invalid attribute found on the ListOfSpecies object
AllowedAttributesOnListOfParams Invalid attribute found on the ListOfParameters object
AllowedAttributesOnListOfInitAssign Invalid attribute found on the ListOfInitialAssignments object
AllowedAttributesOnListOfRules Invalid attribute found on the ListOfRules object
AllowedAttributesOnListOfConstraints Invalid attribute found on the ListOfConstraints object
AllowedAttributesOnListOfReactions Invalid attribute found on the ListOfReactions object
AllowedAttributesOnListOfEvents Invalid attribute found on the ListOfEvents object
L3V2SubstanceUnitsOnModel Invalid 'substanceUnits' attribute value
FunctionDefMathNotLambda Invalid expression found in the function definition
InvalidApplyCiInLambda Invalid forward reference in the MathML <apply><ci>...</ci></apply> expression
RecursiveFunctionDefinition Recursive function definitions are not permitted
InvalidCiInLambda Invalid <ci> reference found inside the <lambda> mathematical formula
InvalidFunctionDefReturnType A function's return type must be either a number or a Boolean
OneMathElementPerFunc A FunctionDefinition object may contain one <math> element
AllowedAttributesOnFunc Invalid attribute found on the FunctionDefinition object
InvalidUnitDefId Invalid 'id' attribute value for a UnitDefinition object
InvalidSubstanceRedefinition Invalid redefinition of built-in type 'substance'
InvalidLengthRedefinition Invalid redefinition of built-in type 'length'
InvalidAreaRedefinition Invalid redefinition of built-in type name 'area'
InvalidTimeRedefinition Invalid redefinition of built-in type name 'time'
InvalidVolumeRedefinition Invalid redefinition of built-in type name 'volume'
VolumeLitreDefExponentNotOne Must use 'exponent'=1 when defining 'volume' in terms of litres
VolumeMetreDefExponentNot3 Must use 'exponent'=3 when defining 'volume' in terms of metres
EmptyListOfUnits An empty list of Unit objects is not permitted in a UnitDefinition object
InvalidUnitKind Invalid value for the 'kind' attribute of a UnitDefinition object
OffsetNoLongerValid Unit attribute 'offset' is not supported in this Level+Version of SBML
CelsiusNoLongerValid Unit name 'Celsius' is not defined in this Level+Version of SBML
EmptyUnitListElement A ListOfUnits object must not be empty
OneListOfUnitsPerUnitDef At most one ListOfUnits object is allowed inside a UnitDefinition object
OnlyUnitsInListOfUnits Only Unit, Notes and Annotation objects are allowed in ListOfUnits objects
AllowedAttributesOnUnitDefinition Invalid attribute found on the UnitDefinition object
AllowedAttributesOnListOfUnits Invalid attribute found on the ListOfUnits object
AllowedAttributesOnUnit Invalid attribute found on the Unit object
ZeroDimensionalCompartmentSize Invalid use of the 'size' attribute for a zero-dimensional compartment
ZeroDimensionalCompartmentUnits Invalid use of the 'units' attribute for a zero-dimensional compartment
ZeroDimensionalCompartmentConst Zero-dimensional compartments must be defined to be constant
UndefinedOutsideCompartment Invalid value for the 'outside' attribute of a Compartment object
RecursiveCompartmentContainment Recursive nesting of compartments via the 'outside' attribute is not permitted
ZeroDCompartmentContainment Invalid nesting of zero-dimensional compartments
Invalid1DCompartmentUnits Invalid value for the 'units' attribute of a one-dimensional compartment
Invalid2DCompartmentUnits Invalid value for the 'units' attribute of a two-dimensional compartment
Invalid3DCompartmentUnits Invalid value for the 'units' attribute of a three-dimensional compartment
InvalidCompartmentTypeRef Invalid value for the 'compartmentType' attribute of a compartment
OneDimensionalCompartmentUnits No units defined for 1-D compartment
TwoDimensionalCompartmentUnits No units defined for 2-D compartment
ThreeDimensionalCompartmentUnits No units defined for 3-D Compartment object
AllowedAttributesOnCompartment Invalid attribute found on Compartment object
NoUnitsOnCompartment No units defined for Compartment object
InvalidSpeciesCompartmentRef Invalid value found for Species 'compartment' attribute
HasOnlySubsNoSpatialUnits Attribute 'spatialSizeUnits' must not be set if 'hasOnlySubstanceUnits'='true'
NoSpatialUnitsInZeroD Attribute 'spatialSizeUnits' must not be set if the compartment is zero-dimensional
NoConcentrationInZeroD Attribute 'initialConcentration' must not be set if the compartment is zero-dimensional
SpatialUnitsInOneD Invalid value for 'spatialSizeUnits' attribute of a one-dimensional compartment
SpatialUnitsInTwoD Invalid value for the 'spatialSizeUnits' attribute of a two-dimensional compartment
SpatialUnitsInThreeD Invalid value for the 'spatialSizeUnits' attribute of a three-dimensional compartment
InvalidSpeciesSusbstanceUnits Invalid value for a Species 'units' attribute
BothAmountAndConcentrationSet Cannot set both 'initialConcentration' and 'initialAmount' attributes simultaneously
NonBoundarySpeciesAssignedAndUsed Cannot use a non-boundary species in both reactions and rules simultaneously
NonConstantSpeciesUsed Cannot use a constant, non-boundary species as a reactant or product
InvalidSpeciesTypeRef Invalid value for the 'speciesType' attribute of a species
MultSpeciesSameTypeInCompartment Cannot have multiple species of the same species type in the same compartment
MissingSpeciesCompartment Missing value for the 'compartment' attribute
SpatialSizeUnitsRemoved Attribute 'spatialSizeUnits' is not supported in this Level+Version of SBML
SubstanceUnitsOnSpecies No substance units defined for the species
ConversionFactorOnSpecies Invalid value for the 'conversionFactor' attribute
AllowedAttributesOnSpecies Invalid attribute found on Species object
InvalidParameterUnits Invalid value for the 'units' attribute of a Parameter object
ParameterUnits No units defined for the parameter
ConversionFactorMustConstant A conversion factor must reference a Parameter object declared to be a constant
AllowedAttributesOnParameter Invalid attribute found on Parameter object
InvalidInitAssignSymbol Invalid value for the 'symbol' attribute of an InitialAssignment object
MultipleInitAssignments Multiple initial assignments for the same 'symbol' value are not allowed
InitAssignmentAndRuleForSameId Cannot set a value using both an initial assignment and an assignment rule simultaneously
OneMathElementPerInitialAssign An InitialAssignment object may contain one <math> element
AllowedAttributesOnInitialAssign Invalid attribute found on an InitialAssignment object
InitAssignmentCannotRef0DComp InitialAssignment cannot reference 0D compartment
InvalidAssignRuleVariable Invalid value for the 'variable' attribute of an AssignmentRule object
InvalidRateRuleVariable Invalid value for the 'variable' attribute of a RateRule object
AssignmentToConstantEntity An assignment rule cannot assign an entity declared to be constant
RateRuleForConstantEntity A rate rule cannot assign an entity declared to be constant
CircularRuleDependency Circular dependencies involving rules and reactions are not permitted
OneMathElementPerRule A rule object may contain one <math> element
AllowedAttributesOnAssignRule Invalid attribute found on an AssignmentRule object
AllowedAttributesOnRateRule Invalid attribute found on a RateRule object
AllowedAttributesOnAlgRule Invalid attribute found on an AlgebraicRule object
RuleCannotRef0DComp Rule cannot reference 0D compartment
CircularDependencyRateOf Circular dependencies are not permitted in RateRule and KineticLaw objects
ConstraintMathNotBoolean A Constraint object's <math> must evaluate to a Boolean value
IncorrectOrderInConstraint Subobjects inside the Constraint object are not in the prescribed order
ConstraintNotInXHTMLNamespace A Constraint's Message subobject must be in the XHTML XML namespace
ConstraintContainsXMLDecl XML declarations are not permitted within Constraint's Message objects
ConstraintContainsDOCTYPE XML DOCTYPE elements are not permitted within Constraint's Message objects
InvalidConstraintContent Invalid content for a Constraint object's Message object
OneMathElementPerConstraint A Constraint object may contain one <math> element
OneMessageElementPerConstraint A Constraint object can only have one Message subobject
AllowedAttributesOnConstraint Invalid attribute found on Constraint object
NoReactantsOrProducts Cannot have a reaction with neither reactants nor products
IncorrectOrderInReaction Subobjects inside the Reaction object are not in the prescribed order
EmptyListInReaction Reaction components, if present, cannot be empty
InvalidReactantsProductsList Invalid object found in the list of reactants or products
InvalidModifiersList Invalid object found in the list of modifiers
OneSubElementPerReaction A Reaction object can only contain one of each allowed type of object
CompartmentOnReaction Invalid value for the Reaction 'compartment' attribute
AllowedAttributesOnReaction Invalid attribute for a Reaction object
InvalidSpeciesReference Invalid 'species' attribute value in SpeciesReference object
BothStoichiometryAndMath The 'stoichiometry' attribute and StoichiometryMath subobject are mutually exclusive
AllowedAttributesOnSpeciesReference Invalid attribute found on the SpeciesReference object
AllowedAttributesOnModifier Invalid attribute found on the ModifierSpeciesReference object
UndeclaredSpeciesRef Unknown species referenced in the kinetic law <math> formula
IncorrectOrderInKineticLaw Incorrect ordering of components in the KineticLaw object
EmptyListInKineticLaw The list of parameters, if present, cannot be empty
NonConstantLocalParameter Parameters local to a KineticLaw object must have a 'constant' attribute value of 'true'
SubsUnitsNoLongerValid Attribute 'substanceUnits' is not supported in this Level+Version of SBML
TimeUnitsNoLongerValid Attribute 'timeUnits' is not supported in this Level+Version of SBML
OneListOfPerKineticLaw Only one ListOfLocalParameters object is permitted within a KineticLaw object
OnlyLocalParamsInListOfLocalParams Only LocalParameter, Notes and Annotation objects are allowed in ListOfLocalParameter objects
AllowedAttributesOnListOfLocalParam Invalid attribute found on the ListOfLocalParameters object
OneMathPerKineticLaw Only one <math> element is allowed in a KineticLaw object
UndeclaredSpeciesInStoichMath Unknown species referenced in the StoichiometryMath object's <math> formula
AllowedAttributesOnKineticLaw Invalid attribute found on the KineticLaw object
AllowedAttributesOnListOfSpeciesRef Invalid attribute found on the ListOfSpeciesReferences object
AllowedAttributesOnListOfMods Invalid attribute found on the ListOfModifiers object
L3V2FastDeprecated Fast attribute deprecated
AllowedAttributesOnLocalParameter Invalid attribute found on the LocalParameter object
LocalParameterShadowsSpecies Invalid attribute found on the LocalParameter object
MissingTriggerInEvent The Event object is missing a Trigger subobject
TriggerMathNotBoolean A Trigger object's <math> expression must evaluate to a Boolean value
MissingEventAssignment The Event object is missing an EventAssignment subobject
TimeUnitsEvent Units referenced by 'timeUnits' attribute are not compatible with units of time
IncorrectOrderInEvent Incorrect ordering of components in Event object
ValuesFromTriggerTimeNeedDelay Attribute 'useValuesFromTriggerTime'='false', but the Event object does not define a delay
DelayNeedsValuesFromTriggerTime The use of a Delay object requires the Event attribute 'useValuesFromTriggerTime'
OneMathPerTrigger A Trigger object may have one <math> element
OneMathPerDelay A Delay object may have one <math> element
InvalidEventAssignmentVariable Invalid 'variable' attribute value in Event object
EventAssignmentForConstantEntity An EventAssignment object cannot assign to a component having attribute 'constant'='true'
OneMathPerEventAssignment An EventAssignment object may have one <math> element
AllowedAttributesOnEventAssignment Invalid attribute found on the EventAssignment object
OnlyOneDelayPerEvent An Event object can only have one Delay subobject
OneListOfEventAssignmentsPerEvent An Event object can only have one ListOfEventAssignments subobject
OnlyEventAssignInListOfEventAssign Only EventAssignment, Notes and Annotation objects are allowed in ListOfEventAssignments
AllowedAttributesOnListOfEventAssign Invalid attribute found on the ListOfEventAssignments object
AllowedAttributesOnEvent Invalid attribute found on the Event object
AllowedAttributesOnTrigger Invalid attribute found on the Trigger object
AllowedAttributesOnDelay Invalid attribute found on the Delay object
PersistentNotBoolean The Trigger attribute 'persistent' must evaluate to a Boolean value
InitialValueNotBoolean The Trigger attribute 'initialValue' must evaluate to a Boolean value
OnlyOnePriorityPerEvent An Event object can only have one Priority subobject
OneMathPerPriority A Priority object may have one <math> element
AllowedAttributesOnPriority Invalid attribute found on the Priority object
CompartmentShouldHaveSize It's best to define a size for every compartment in a model
SpeciesShouldHaveValue It's best to define an initial amount or initial concentration for every species in a model
ParameterShouldHaveUnits It's best to declare units for every parameter in a model
ParameterShouldHaveValue It's best to declare values for every parameter in a model
LocalParameterShadowsId Local parameters defined within a kinetic law shadow global object symbols
CannotConvertToL1V1 Cannot convert to SBML Level 1 Version 1
NoEventsInL1 SBML Level 1 does not support events
NoFunctionDefinitionsInL1 SBML Level 1 does not support function definitions
NoConstraintsInL1 SBML Level 1 does not support constraints
NoInitialAssignmentsInL1 SBML Level 1 does not support initial assignments
NoSpeciesTypesInL1 SBML Level 1 does not support species types
NoCompartmentTypeInL1 SBML Level 1 does not support compartment types
NoNon3DCompartmentsInL1 SBML Level 1 only supports three-dimensional compartments
NoFancyStoichiometryMathInL1 SBML Level 1 does not support non-integer nor non-rational stoichiometry formulas
NoNonIntegerStoichiometryInL1 SBML Level 1 does not support non-integer 'stoichiometry' attribute values
NoUnitMultipliersOrOffsetsInL1 SBML Level 1 does not support multipliers or offsets in unit definitions
SpeciesCompartmentRequiredInL1 In SBML Level 1, a value for 'compartment' is mandatory in species definitions
NoSpeciesSpatialSizeUnitsInL1 SBML Level 1 does not support species 'spatialSizeUnits' settings
NoSBOTermsInL1 SBML Level 1 does not support the 'sboTerm' attribute
StrictUnitsRequiredInL1 SBML Level 1 requires strict unit consistency
ConversionFactorNotInL1 SBML Level 1 does not support the 'conversionFactor' attribute
CompartmentNotOnL1Reaction SBML Level 1 does not support the 'compartment' attribute on Reaction objects
ExtentUnitsNotSubstance Units of extent must be compatible with units of substance
GlobalUnitsNotDeclared Global units must be refer to unit kind or unitDefinition
HasOnlySubstanceUnitsNotinL1 The concept of hasOnlySubstanceUnits was not available in SBML Level 1
AvogadroNotSupported Avogadro not supported in Levels 2 and 1
NoConstraintsInL2v1 SBML Level 2 Version 1 does not support Constraint objects
NoInitialAssignmentsInL2v1 SBML Level 2 Version 1 does not support InitialAssignment objects
NoSpeciesTypeInL2v1 SBML Level 2 Version 1 does not support SpeciesType objects
NoCompartmentTypeInL2v1 SBML Level 2 Version 1 does not support CompartmentType objects
NoSBOTermsInL2v1 SBML Level 2 Version 1 does not support the 'sboTerm' attribute
NoIdOnSpeciesReferenceInL2v1 SBML Level 2 Version 1 does not support the 'id' attribute on SpeciesReference objects
NoDelayedEventAssignmentInL2v1 SBML Level 2 Version 1 does not support the 'useValuesFromTriggerTime' attribute
StrictUnitsRequiredInL2v1 SBML Level 2 Version 1 requires strict unit consistency
IntegerSpatialDimensions SBML Level 2 Version 1 requires that compartments have spatial dimensions of 0-3
StoichiometryMathNotYetSupported Conversion to StoichiometryMath objects not yet supported
PriorityLostFromL3 SBML Level 2 Version 1 does not support priorities on Event objects
NonPersistentNotSupported SBML Level 2 Version 1 does not support the 'persistent' attribute on Trigger objects
InitialValueFalseEventNotSupported SBML Level 2 Version 1 does not support the 'initialValue' attribute on Trigger objects
SBOTermNotUniversalInL2v2 The 'sboTerm' attribute is invalid for this component in SBML Level 2 Version 2
NoUnitOffsetInL2v2 This Level+Version of SBML does not support the 'offset' attribute on Unit objects
NoKineticLawTimeUnitsInL2v2 This Level+Version of SBML does not support the 'timeUnits' attribute on KineticLaw objects
NoKineticLawSubstanceUnitsInL2v2 This Level+Version of SBML does not support the 'substanceUnits' attribute on KineticLaw objects
NoDelayedEventAssignmentInL2v2 This Level+Version of SBML does not support the 'useValuesFromTriggerTime' attribute
ModelSBOBranchChangedBeyondL2v2 The allowable 'sboTerm' attribute values for Model objects differ for this SBML Level+Version
StrictUnitsRequiredInL2v2 SBML Level 2 Version 2 requires strict unit consistency
StrictSBORequiredInL2v2 SBML Level 2 Version 2 requires strict SBO term consistency
DuplicateAnnotationInvalidInL2v2 Duplicate top-level annotations are invalid in SBML Level 2 Version 2
NoUnitOffsetInL2v3 This Level+Version of SBML does not support the 'offset' attribute on Unit objects
NoKineticLawTimeUnitsInL2v3 This Level+Version of SBML does not support the 'timeUnits' attribute on KineticLaw objects
NoKineticLawSubstanceUnitsInL2v3 This Level+Version of SBML does not support the 'substanceUnits' attribute on KineticLaw objects
NoSpeciesSpatialSizeUnitsInL2v3 This Level+Version of SBML does not support the 'spatialSizeUnit' attribute on Species objects
NoEventTimeUnitsInL2v3 This Level+Version of SBML does not support the 'timeUnits' attribute on Event objects
NoDelayedEventAssignmentInL2v3 This Level+Version of SBML does not support the 'useValuesFromTriggerTime' attribute
ModelSBOBranchChangedBeyondL2v3 The allowable 'sboTerm' attribute values for Model objects differ for this SBML Level+Version
StrictUnitsRequiredInL2v3 SBML Level 2 Version 3 requires strict unit consistency
StrictSBORequiredInL2v3 SBML Level 2 Version 3 requires strict SBO term consistency
DuplicateAnnotationInvalidInL2v3 Duplicate top-level annotations are invalid in SBML Level 2 Version 3
NoUnitOffsetInL2v4 This Level+Version of SBML does not support the 'offset' attribute on Unit objects
NoKineticLawTimeUnitsInL2v4 This Level+Version of SBML does not support the 'timeUnits' attribute on KineticLaw objects
NoKineticLawSubstanceUnitsInL2v4 This Level+Version of SBML does not support the 'substanceUnits' attribute on KineticLaw objects
NoSpeciesSpatialSizeUnitsInL2v4 This Level+Version of SBML does not support the 'spatialSizeUnit' attribute on Species objects
NoEventTimeUnitsInL2v4 This Level+Version of SBML does not support the 'timeUnits' attribute on Event objects
ModelSBOBranchChangedInL2v4 The allowable 'sboTerm' attribute values for Model objects differ for this SBML Level+Version
DuplicateAnnotationInvalidInL2v4 Duplicate top-level annotations are invalid in SBML Level 2 Version 4
NoSpeciesTypeInL3v1 SBML Level 3 Version 1 does not support SpeciesType objects
NoCompartmentTypeInL3v1 SBML Level 3 Version 1 does not support CompartmentType objects
NoUnitOffsetInL3v1 This Level+Version of SBML does not support the 'offset' attribute on Unit objects
NoKineticLawTimeUnitsInL3v1 This Level+Version of SBML does not support the 'timeUnits' attribute on KineticLaw objects
NoKineticLawSubstanceUnitsInL3v1 This Level+Version of SBML does not support the 'substanceUnits' attribute on KineticLaw objects
NoSpeciesSpatialSizeUnitsInL3v1 This Level+Version of SBML does not support the 'spatialSizeUnit' attribute on Species objects
NoEventTimeUnitsInL3v1 This Level+Version of SBML does not support the 'timeUnits' attribute on Event objects
ModelSBOBranchChangedInL3v1 The allowable 'sboTerm' attribute values for Model objects differ for this SBML Level+Version
DuplicateAnnotationInvalidInL3v1 Duplicate top-level annotations are invalid in SBML Level 3 Version 1
NoCompartmentOutsideInL3v1 This Level+Version of SBML does not support the 'outside' attribute on Compartment objects
NoStoichiometryMathInL3v1 This Level+Version of SBML does not support the StoichiometryMath object
DoubleExponentNotSupported Exponent of type double not supported in Levels 2 and 1.
MathMLElementNotSupported This MathML element is only permitted in L3V2
EmptyListOfElementNotSupported Empty 'ListOf' element is only permitted in L3V2
MissingMathElementNotSupported Missing <math> element is only permitted in L3V2
MissingTriggerElementNotSupported missing <trigger> element is only permitted in L3V2
BooleanNumericDiscrepancy Interchange of Boolean and numeric values only permitted in L3V2
IdNameSBaseInL3V2 Conversion will lose attributes only available in L3V2 and higher
MissingParticipantsNotSupported Omission of both <listOfReactants> and <listOfProducts> is only valid in L3V2
ConvertibleMathInitialAssignment Some L3V2-specific MathML elements are not permitted in InitialAssignment objects
FastReactionsNotSupported Conversion of reactions employing the 'fast' attribute is not supported
InvalidSBMLLevelVersion Unknown Level+Version combination of SBML
AnnotationNotesNotAllowedLevel1 Annotation objects on the SBML container element are not permitted in SBML Level 1
InvalidRuleOrdering Invalid ordering of rules
RequiredPackagePresent The SBML document requires an SBML Level 3 package unavailable in this software
UnrequiredPackagePresent The SBML document uses an SBML Level 3 package unavailable in this software
PackageRequiredShouldBeFalse This package expects required to be false
SubsUnitsAllowedInKL Disallowed value for attribute 'substanceUnits' on KineticLaw object
TimeUnitsAllowedInKL Disallowed value for attribute 'timeUnits' on KineticLaw object
FormulaInLevel1KL Only predefined functions are allowed in SBML Level 1 formulas
L3SubstanceUnitsOnModel Invalid 'substanceUnits' attribute value
StoichiometryMathMissingMath The <stoichiometryMath> element must contain a <math> element
TimeUnitsRemoved This Level+Version of SBML does not support the 'timeUnits' attribute on Event objects
BadMathML Invalid MathML expression
FailedMathMLReadOfDouble Missing or invalid floating-point number in MathML expression
FailedMathMLReadOfInteger Missing or invalid integer in MathML expression
FailedMathMLReadOfExponential Missing or invalid exponential expression in MathML
FailedMathMLReadOfRational Missing or invalid rational expression in MathML
BadMathMLNodeType Invalid MathML element
InvalidMathMLAttribute Invalid MathML attribute
NoTimeSymbolInFunctionDef Use of <csymbol> for 'time' not allowed within FunctionDefinition objects
NoBodyInFunctionDef There must be a <lambda> body within the <math> element of a FunctionDefinition object
DanglingUnitSIdRef Units must refer to valid unit or unitDefinition
RDFMissingAboutTag RDF missing the <about> tag
RDFEmptyAboutTag RDF empty <about> tag
RDFAboutTagNotMetaid RDF <about> tag is not metaid
RDFNotCompleteModelHistory RDF does not contain valid ModelHistory
RDFNotModelHistory RDF does not result in a ModelHistory
AnnotationNotElement Annotation must contain element
NestedAnnotationNotAllowed Nested annotations not allowed
UndeclaredUnits Missing unit declarations on parameters or literal numbers in expression
UndeclaredTimeUnitsL3 Unable to verify consistency of units: the unit of time has not been declared
UndeclaredExtentUnitsL3 Unable to verify consistency of units: the units of reaction extent have not been declared
UndeclaredObjectUnitsL3 Unable to verify consistency of units: encountered a model entity with no declared units
CannotVerifyUnitsObjectNoMath Unable to verify consistency of units: encountered an object with no <math> element
UnrecognisedSBOTerm Unrecognized 'sboTerm' attribute value
ObseleteSBOTerm Obsolete 'sboTerm' attribute value
IncorrectCompartmentSpatialDimensions In SBML Level 1, only three-dimensional compartments are allowed
CompartmentTypeNotValidAttribute CompartmentType objects are not available in this Level+Version of SBML
ConstantNotValidAttribute This Level+Version of SBML does not support the 'constant' attribute on this component
MetaIdNotValidAttribute Attribute 'metaid' is not available in SBML Level 1
SBOTermNotValidAttributeBeforeL2V3 The 'sboTerm' attribute is not available on this component before SBML Level 2 Version 3
InvalidL1CompartmentUnits Invalid units for a compartment in SBML Level 1
L1V1CompartmentVolumeReqd In SBML Level 1, a compartment's volume must be specified
CompartmentTypeNotValidComponent CompartmentType objects are not available in this Level+Version of SBML
ConstraintNotValidComponent Constraint objects are not available in this Level+Version of SBML
EventNotValidComponent Event objects are not available in this Level+Version of SBML
SBOTermNotValidAttributeBeforeL2V2 The 'sboTerm' attribute is invalid for this component before Level 2 Version 2
FuncDefNotValidComponent FunctionDefinition objects are not available in this Level+Version of SBML
InitialAssignNotValidComponent InitialAssignment objects are not available in this Level+Version of SBML
VariableNotValidAttribute Attribute 'variable' is not available on this component in this Level+Version of SBML
UnitsNotValidAttribute Attribute 'units' is not available on this component in this Level+Version of SBML
ConstantSpeciesNotValidAttribute Attribute 'constant' is not available on Species objects in SBML Level 1
SpatialSizeUnitsNotValidAttribute Attribute 'spatialSizeUnits' is not available on Species objects in SBML Level 1
SpeciesTypeNotValidAttribute Attribute 'speciesType' is not available on Species objects in SBML Level 1
HasOnlySubsUnitsNotValidAttribute Attribute 'hasOnlySubstanceUnits' is not available on Species objects in SBML Level 1
IdNotValidAttribute Attribute 'id' is not available on SpeciesReference objects in SBML Level 1
NameNotValidAttribute Attribute 'name' is not available on SpeciesReference objects in SBML Level 1
SpeciesTypeNotValidComponent The SpeciesType object is not supported in SBML Level 1
StoichiometryMathNotValidComponent The StoichiometryMath object is not supported in SBML Level 1
MultiplierNotValidAttribute Attribute 'multiplier' on Unit objects is not supported in SBML Level 1
OffsetNotValidAttribute Attribute 'offset' on Unit objects is only available in SBML Level 2 Version 1
L3SpatialDimensionsUnset No value given for 'spatialDimensions' attribute; assuming a value of 3
PackageConversionNotSupported Conversion of SBML Level 3 package constructs is not yet supported
InvalidTargetLevelVersion The requested SBML Level/Version combination is not known to exist
L3NotSupported SBML Level 3 is not yet supported
CompUnknown
CompNSUndeclared The comp ns is not correctly declared
CompElementNotInNs Element not in comp namespace
CompDuplicateComponentId Duplicate 'id' attribute value
CompUniqueModelIds Model and ExternalModelDefinitions must have unique ids
CompUniquePortIds Ports must have unique ids
CompInvalidSIdSyntax Invalid SId syntax
CompInvalidSubmodelRefSyntax Invalid submodelRef syntax
CompInvalidDeletionSyntax Invalid deletion syntax
CompInvalidConversionFactorSyntax Invalid conversionFactor syntax
CompInvalidNameSyntax Invalid name syntax
CompReplacedUnitsShouldMatch Units of replaced elements should match replacement units.
CompOneListOfReplacedElements Only one <listOfReplacedElements> allowed.
CompLOReplaceElementsAllowedElements Allowed children of <listOfReplacedElements>
CompLOReplacedElementsAllowedAttribs Allowed <listOfReplacedElements> attributes
CompEmptyLOReplacedElements <listOfReplacedElements> must not be empty
CompOneReplacedByElement Only one <replacedBy> object allowed.
CompAttributeRequiredMissing Required comp:required attribute on <sbml>
CompAttributeRequiredMustBeBoolean The comp:required attribute must be Boolean
CompRequiredTrueIfElementsRemain The comp:required attribute must be 'true' if math changes
CompRequiredFalseIfAllElementsReplaced The comp:required attribute must be 'false' if math does not change
CompOneListOfModelDefinitions Only one <listOfModelDefinitions> allowed.
CompEmptyLOModelDefs <listOfModelDefinitions> and <listOfExternalModelDefinitions> must not be empty
CompLOModelDefsAllowedElements Only <modelDefinitions> in <listOfModelDefinitions>
CompLOExtModelDefsAllowedElements Only <externalModelDefinitions> in <listOfExternalModelDefinitions>
CompLOModelDefsAllowedAttributes Allowed <listOfModelDefinitions> attributes
CompLOExtModDefsAllowedAttributes Allowed <listOfExternalModelDefinitions> attributes
CompOneListOfExtModelDefinitions Only one <listOfExternalModelDefinitions> allowed.
CompAttributeRequiredMustBeTrue The comp:required attribute must be 'true'
CompExtModDefAllowedCoreAttributes Allowed <externalModelDefinitions> core attributes
CompExtModDefAllowedElements Allowed <externalModelDefinitions> elements
CompExtModDefAllowedAttributes Allowed <externalModelDefinitions> attributes
CompReferenceMustBeL3 External models must be L3
CompModReferenceMustIdOfModel 'modelRef' must be the 'id' of a model in the 'source' document
CompExtModMd5DoesNotMatch MD5 checksum does not match the 'source' document
CompInvalidSourceSyntax The 'comp:source' attribute must be of type 'anyURI'
CompInvalidModelRefSyntax The 'comp:modelRef' attribute must have the syntax of 'SId'
CompInvalidMD5Syntax The 'comp:md5' attribute must have the syntax of 'string'
CompCircularExternalModelReference Circular reference in <externalModelDefinition>
CompOneListOfOnModel Only one <listOfSubmodels> and one <listOfPorts> allowed
CompNoEmptyListOfOnModel No empty listOf elements allowed
CompLOSubmodelsAllowedElements Allowed elements on <listOfSubmodels>
CompLOPortsAllowedElements Allowed elements on <listOfPorts>
CompLOSubmodelsAllowedAttributes Allowed attributes on <listOfSubmodels>
CompLOPortsAllowedAttributes Allowed attributes on <listOfPorts>
CompSubmodelAllowedCoreAttributes Allowed core attributes on <submodel>
CompSubmodelAllowedElements Allowed elements on <submodel>
CompOneListOfDeletionOnSubmodel Only one <listOfDeletions> on a <submodel> allowed
CompSubmodelNoEmptyLODeletions No empty listOfDeletions elements allowed
CompLODeletionsAllowedElements Allowed elements on <listOfDeletions>
CompLODeletionAllowedAttributes Allowed <listOfDeletions> attributes
CompSubmodelAllowedAttributes Allowed <submodel> attributes
CompModReferenceSyntax 'comp:modelRef' must conform to SId syntax
CompInvalidTimeConvFactorSyntax 'comp:timeConversionFactor' must conform to SId syntax
CompInvalidExtentConvFactorSyntax 'comp:extentConversionFactor' must conform to SId syntax
CompSubmodelMustReferenceModel The 'comp:modelRef' attribute must reference a model
CompSubmodelCannotReferenceSelf The 'comp:modelRef' attribute cannot reference own model
CompModCannotCircularlyReferenceSelf <model> may not reference <submodel> that references itself.
CompTimeConversionMustBeParameter The 'comp:timeConversionFactor' must reference a parameter
CompExtentConversionMustBeParameter The 'comp:extentConversionFactor' must reference a parameter
CompPortRefMustReferencePort The 'comp:portRef' attribute must be the 'id' of a <port>
CompIdRefMustReferenceObject The 'comp:idRef' attribute must be the 'id' of a model element
CompUnitRefMustReferenceUnitDef The 'comp:unitRef' attribute must be the 'id' of a UnitDefinition
CompMetaIdRefMustReferenceObject The 'comp:metaIdRef' attribute must be the 'metaid' of an object
CompParentOfSBRefChildMustBeSubmodel If <sBaseRef> has a child <sBaseRef> its parent must be a <submodel>
CompInvalidPortRefSyntax The 'comp:portRef' attribute must have the syntax of an SBML SId
CompInvalidIdRefSyntax The 'comp:idRef' attribute must have the syntax of an SBML SId
CompInvalidUnitRefSyntax The 'comp:unitRef' attribute must have the syntax of an SBML SId
CompInvalidMetaIdRefSyntax The 'comp:metaIdRef' attribute must have the syntax of an XML ID
CompOneSBaseRefOnly Only one <sbaseRef>
CompDeprecatedSBaseRefSpelling The spelling 'sbaseRef' is deprecated
CompSBaseRefMustReferenceObject An SBaseRef must reference an object.
CompSBaseRefMustReferenceOnlyOneObject An SBaseRef must reference only one other object.
CompNoMultipleReferences Objects may not be referenced by mutiple SBaseRef constructs.
CompPortMustReferenceObject Port must reference an object
CompPortMustReferenceOnlyOneObject Port must reference only one other object.
CompPortAllowedAttributes Allowed attributes on a Port
CompPortReferencesUnique Port definitions must be unique.
CompDeletionMustReferenceObject Deletion must reference an object
CompDeletionMustReferOnlyOneObject Deletion must reference only one other object.
CompDeletionAllowedAttributes Allowed attributes on a Deletion
CompReplacedElementMustRefObject ReplacedElement must reference an object
CompReplacedElementMustRefOnlyOne ReplacedElement must reference only one other object.
CompReplacedElementAllowedAttributes Allowed attributes on <replacedElement>
CompReplacedElementSubModelRef The 'comp:submodelRef' attribute must point to a <submodel>
CompReplacedElementDeletionRef The 'comp:deletion' attribute must point to a <deletion>
CompReplacedElementConvFactorRef The 'comp:conversionFactor attribute must point to a <parameter>
CompReplacedElementSameReference No <replacedElement> refer to same object
CompReplacedElementNoDelAndConvFact No <replacedElement> with deletion and conversionfactor
CompReplacedByMustRefObject ReplacedBy must reference an object
CompReplacedByMustRefOnlyOne ReplacedBy must reference only one other object.
CompReplacedByAllowedAttributes Allowed attributes on <replacedBy>
CompReplacedBySubModelRef The 'comp:submodelRef' attribute must point to a <submodel>
CompMustReplaceSameClass Replaced classes must match.
CompMustReplaceIDs Replaced IDs must be replaced with IDs.
CompMustReplaceMetaIDs Replaced metaids must be replaced with metaids.
CompMustReplacePackageIDs Replaced package IDs must be replaced with package IDs.
CompUnresolvedReference Unresolved reference.
CompNoModelInReference No model in referenced document.
CompExtModDefBad Referenced <externalModelDefinition> unresolvable.
CompModelFlatteningFailed Model failed to flatten.
CompFlatModelNotValid Flat model not valid.
CompLineNumbersUnreliable Line numbers unreliable.
CompFlatteningNotRecognisedReqd Flattening not implemented for required package.
CompFlatteningNotRecognisedNotReqd Flattening not implemented for unrequired package.
CompFlatteningNotImplementedNotReqd Flattening not implemented for unrequired package.
CompFlatteningNotImplementedReqd Flattening not implemented for required package.
CompFlatteningWarning Flattening reference may come from package.
CompDeprecatedDeleteFunction The performDeletions functions is deprecated.
CompDeprecatedReplaceFunction The performReplacementsAndConversions fuctions is deprecated.
CompDeletedReplacement Element deleted before a subelement could be replaced.
CompIdRefMayReferenceUnknownPackage The 'comp:idRef' attribute must be the 'id' of a model element
CompMetaIdRefMayReferenceUnknownPkg The 'comp:metaIdRef' attribute must be the 'metaid' of a model element
FbcUnknown
FbcNSUndeclared The fbc ns is not correctly declared
FbcElementNotInNs Element not in fbc namespace
FbcDuplicateComponentId Duplicate 'id' attribute value
FbcSBMLSIdSyntax Invalid 'id' attribute
FbcAttributeRequiredMissing Required fbc:required attribute on <sbml>
FbcAttributeRequiredMustBeBoolean The fbc:required attribute must be Boolean
FbcRequiredFalse The fbc:required attribute must be 'false'
FbcOnlyOneEachListOf One of each list of allowed
FbcNoEmptyListOfs ListOf elements cannot be empty
FbcLOFluxBoundsAllowedElements Allowed elements on ListOfFluxBounds
FbcLOObjectivesAllowedElements Allowed elements on ListOfObjectives
FbcLOFluxBoundsAllowedAttributes Allowed attributes on ListOfFluxBounds
FbcLOObjectivesAllowedAttributes Allowed attributes on ListOfObjectives
FbcActiveObjectiveSyntax Type of activeObjective attribute
FbcActiveObjectiveRefersObjective ActiveObjective must reference Objective
FbcModelMustHaveStrict 'Strict' attribute required on <model>
FbcModelStrictMustBeBoolean 'Strict' attribute must be Boolean
FbcLOGeneProductsAllowedElements Allowed elements on ListOfGeneProducts
FbcLOGeneProductsAllowedAttributes Allowed attributes on ListOfGeneProducts
FbcSpeciesAllowedL3Attributes Species allowed attributes
FbcSpeciesChargeMustBeInteger Charge must be integer
FbcSpeciesFormulaMustBeString Chemical formula must be string
FbcFluxBoundAllowedL3Attributes <fluxBound> may only have 'metaId' and 'sboTerm' from L3 namespace
FbcFluxBoundAllowedElements <fluxBound> may only have <notes> and <annotations> from L3 Core
FbcFluxBoundRequiredAttributes Invalid attribute found on <fluxBound> object
FbcFluxBoundRectionMustBeSIdRef Datatype for 'fbc:reaction' must be SIdRef
FbcFluxBoundNameMustBeString The attribute 'fbc:name' must be of the data type string
FbcFluxBoundOperationMustBeEnum The attribute 'fbc:operation' must be of data type FbcOperation
FbcFluxBoundValueMustBeDouble The attribute 'fbc:value' must be of the data type double
FbcFluxBoundReactionMustExist 'fbc:reaction' must refer to valid reaction
FbcFluxBoundsForReactionConflict Conflicting set of FluxBounds for a reaction
FbcObjectiveAllowedL3Attributes <objective> may only have 'metaId' and 'sboTerm' from L3 namespace
FbcObjectiveAllowedElements <objective> may only have <notes> and <annotations> from L3 Core
FbcObjectiveRequiredAttributes Invalid attribute found on <objective> object
FbcObjectiveNameMustBeString The attribute 'fbc:name' must be of the data type string
FbcObjectiveTypeMustBeEnum The attribute 'fbc:type' must be of data type FbcType.
FbcObjectiveOneListOfObjectives An <objective> must have one <listOfFluxObjectives>.
FbcObjectiveLOFluxObjMustNotBeEmpty <listOfFluxObjectives> subobject must not be empty
FbcObjectiveLOFluxObjOnlyFluxObj Invalid element found in <listOfFluxObjectives>
FbcObjectiveLOFluxObjAllowedAttribs <listOfFluxObjectives> may only have 'metaId' and 'sboTerm' from L3 core
FbcFluxObjectAllowedL3Attributes <fluxObjective> may only have 'metaId' and 'sboTerm' from L3 namespace
FbcFluxObjectAllowedElements <fluxObjective> may only have <notes> and <annotations> from L3 Core
FbcFluxObjectRequiredAttributes Invalid attribute found on <fluxObjective> object
FbcFluxObjectNameMustBeString The attribute 'fbc:name' must be of the data type string
FbcFluxObjectReactionMustBeSIdRef Datatype for 'fbc:reaction' must be SIdRef
FbcFluxObjectReactionMustExist 'fbc:reaction' must refer to valid reaction
FbcFluxObjectCoefficientMustBeDouble The attribute 'fbc:coefficient' must be of the data type double
FbcFluxObjectCoefficientWhenStrict The 'fbc:coefficient' must be declared when strict
FbcReactionOnlyOneGeneProdAss One GeneProductAssociation in a Reaction
FbcReactionAllowedAttributes Fbc attributes on a Reaction
FbcReactionLwrBoundSIdRef LowerBound must be SIdRef
FbcReactionUpBoundSIdRef UpperBound must be SIdRef
FbcReactionLwrBoundRefExists LowerBound must point to Parameter
FbcReactionUpBoundRefExists UpperBound must point to Parameter
FbcReactionMustHaveBoundsStrict Reaction must have bounds when strict
FbcReactionConstantBoundsStrict Reaction bounds constant when strict
FbcReactionBoundsMustHaveValuesStrict Reaction bounds must have values when strict
FbcReactionBoundsNotAssignedStrict Reaction bounds not assigned when strict
FbcReactionLwrBoundNotInfStrict LowerBound cannot be INF when strict
FbcReactionUpBoundNotNegInfStrict UpperBound cannot be -INF when strict
FbcReactionLwrLessThanUpStrict LowerBound less than upperBound when strict
FbcSpeciesReferenceConstantStrict SpeciesReferences must be constant when strict
FbcSpeciesRefsStoichMustBeRealStrict Stoichiometry of SpeciesReferences must be real valued when strict
FbcSpeciesRefNotAssignedStrict SpeciesReference not target of InitialAssignment when strict
FbcGeneProdAssocAllowedCoreAttribs Allowed core attributes on <GeneProductAssociation>
FbcGeneProdAssocAllowedCoreElements Allowed core elements on <GeneProductAssociation>
FbcGeneProdAssocAllowedAttribs Allowed fbc attributes on <GeneProductAssociation>
FbcGeneProdAssocIdSyntax 'fbc:id' must have SId syntax
FbcGeneProdAssocContainsOneElement <GeneProductAssociation> must contain one concrete object
FbcGeneProdAssocNameMustBeString 'fbc:name' must be string
FbcGeneProdRefAllowedCoreAttribs Allowed core attributes on <GeneProductRef>
FbcGeneProdRefAllowedCoreElements Allowed core elements on <GeneProductRef>
FbcGeneProdRefAllowedAttribs Allowed fbc attributes on <GeneProductRef>
FbcGeneProdRefGeneProductSIdRef 'fbc:geneProduct' must be SIdRef
FbcGeneProdRefGeneProductExists 'fbc:geneProduct' must point to existing <GeneProduct>
FbcAndAllowedCoreAttributes Allowed core attributes on <And>
FbcAndAllowedCoreElements Allowed core attributes on <And>
FbcAndTwoChildren <And> must have at least two child elements
FbcOrAllowedCoreAttributes Allowed core attributes on <Or>
FbcOrAllowedCoreElements Allowed core elements on <Or>
FbcOrTwoChildren <Or> must have at least two child elements
FbcGeneProductAllowedCoreAttributes Allowed core attributes on <GeneProduct>
FbcGeneProductAllowedCoreElements Allowed core elements on <GeneProduct>
FbcGeneProductAllowedAttributes Allowed fbc attributes on <GeneProduct>
FbcGeneProductLabelMustBeString 'fbc:label' must be string
FbcGeneProductLabelMustBeUnique 'fbc:label' must be unique
FbcGeneProductNameMustBeString 'fbc:name' must be string
FbcGeneProductAssocSpeciesMustExist 'fbc:associatedSpecies' must point to existing <species>
QualUnknown
QualNSUndeclared The qual ns is not correctly declared
QualElementNotInNs Element not in qual namespace
QualFunctionTermBool FunctionTerm should return Boolean
QualMathCSymbolDisallowed CSymbol time or delay not allowed
QualDuplicateComponentId Duplicate 'id' attribute value
QualAttributeRequiredMissing Required qual:required attribute on <sbml>
QualAttributeRequiredMustBeBoolean The qual:required attribute must be Boolean
QualRequiredTrueIfTransitions The qual:required attribute must be 'true' if math changes
QualOneListOfTransOrQS Only one <listOfTransitions> or <listOfQualitativeSpecies> allowed.
QualEmptyLONotAllowed Empty <listOfTransitions> or <listOfQualitativeSpecies> not allowed.
QualLOTransitiondAllowedElements Elements allowed on <listOfTransitions>.
QualLOQualSpeciesAllowedElements Elements allowed on <listOfTransitions>.
QualLOQualSpeciesAllowedAttributes Attributes allowed on <listOfQualitativeSpecies>.
QualLOTransitionsAllowedAttributes Attributes allowed on <listOfTransitions>.
QualQualSpeciesAllowedCoreAttributes Core attributes allowed on <qualitativeSpecies>.
QualQualSpeciesAllowedElements Elements allowed on <qualitativeSpecies>.
QualQualSpeciesAllowedAttributes Attributes allowed on <qualitativeSpecies>.
QualConstantMustBeBool Attribute 'constant' on <qualitativeSpecies> must be Boolean.
QualNameMustBeString Attribute 'name' on <qualitativeSpecies> must be string.
QualInitialLevelMustBeInt Attribute 'initialLevel' on <qualitativeSpecies> must be integer.
QualMaxLevelMustBeInt Attribute 'maxLevel' on <qualitativeSpecies> must be integer.
QualCompartmentMustReferExisting Attribute 'compartment' on <qualitativeSpecies> must reference compartment.
QualInitialLevelCannotExceedMax Attribute 'initialLevel' on <qualitativeSpecies> cannot exceed maxLevel.
QualConstantQSCannotBeOutput Constant <qualitativeSpecies> cannot be an Output.
QualQSAssignedOnlyOnce A <qualitativeSpecies> can only be assigned once.
QualInitalLevelNotNegative Attribute 'initialLevel' on <qualitativeSpecies> cannot be negative.
QualMaxLevelNotNegative Attribute 'maxLevel' on <qualitativeSpecies> cannot be negative.
QualTransitionAllowedCoreAttributes Core attributes allowed on <transition>.
QualTransitionAllowedElements Elements allowed on <transition>.
QualTransitionAllowedAttributes Attributes allowed on <transition>.
QualTransitionNameMustBeString Attribute 'name' on <transition> must be string.
QualTransitionLOElements ListOf elements on <transition>.
QualTransitionEmptyLOElements ListOf elements on <transition> not empty.
QualTransitionLOInputElements Elements on <listOfInputs>.
QualTransitionLOOutputElements Elements on <listOfOutputs>.
QualTransitionLOFuncTermElements Elements on <listOfFunctionTerms>.
QualTransitionLOInputAttributes Attributes allowed on <listOfInputs>.
QualTransitionLOOutputAttributes Attributes allowed on <listOfOutputs>.
QualTransitionLOFuncTermAttributes Attributes allowed on <listOfFunctionTerms>.
QualTransitionLOFuncTermExceedMax <listOfFunctionTerms> cannot make qualitativeSpecies exceed maxLevel.
QualTransitionLOFuncTermNegative <listOfFunctionTerms> cannot make qualitativeSpecies negative.
QualInputAllowedCoreAttributes Core attributes allowed on <input>.
QualInputAllowedElements Elements allowed on <input>.
QualInputAllowedAttributes Attributes allowed on <input>.
QualInputNameMustBeString Attribute 'name' on <input> must be string.
QualInputSignMustBeSignEnum Attribute 'sign' on <input> must be enum.
QualInputTransEffectMustBeInputEffect Attribute 'transitionEffect' on <input> must be enum.
QualInputThreshMustBeInteger Attribute 'thresholdLevel' on <input> must be non negative integer.
QualInputQSMustBeExistingQS Attribute 'qualitativeSpecies' on <input> must refer to existing
QualInputConstantCannotBeConsumed Constant <input> cannot be consumed.
QualInputThreshMustBeNonNegative Attribute 'thresholdLevel' on <input> must be non negative integer.
QualOutputAllowedCoreAttributes Core attributes allowed on <output>.
QualOutputAllowedElements Elements allowed on <output>.
QualOutputAllowedAttributes Attributes allowed on <output>.
QualOutputNameMustBeString Attribute 'name' on <output> must be string.
QualOutputTransEffectMustBeOutput Attribute 'transitionEffect' on <output> must be enum.
QualOutputLevelMustBeInteger Attribute 'outputLevel' on <output> must be non negative integer.
QualOutputQSMustBeExistingQS Attribute 'qualitativeSpecies' on <output> must refer to existing
QualOutputConstantMustBeFalse Constant 'qualitativeSpecies' cannot be <output>
QualOutputProductionMustHaveLevel <output> being produced must have level
QualOutputLevelMustBeNonNegative Attribute 'outputLevel' on <output> must be non negative integer.
QualDefaultTermAllowedCoreAttributes Core attributes allowed on <defaultTerm>.
QualDefaultTermAllowedElements Elements allowed on <defaultTerm>.
QualDefaultTermAllowedAttributes Attributes allowed on <defaultTerm>.
QualDefaultTermResultMustBeInteger Attribute 'resultLevel' on <defaultTerm> must be non negative integer.
QualDefaultTermResultMustBeNonNeg Attribute 'resultLevel' on <defaultTerm> must be non negative integer.
QualFuncTermAllowedCoreAttributes Core attributes allowed on <functionTerm>.
QualFuncTermAllowedElements Elements allowed on <functionTerm>.
QualFuncTermAllowedAttributes Attributes allowed on <functionTerm>.
QualFuncTermOnlyOneMath Only one <math> on <functionTerm>.
QualFuncTermResultMustBeInteger Attribute 'resultLevel' on <functionTerm> must be non negative integer.
QualFuncTermResultMustBeNonNeg Attribute 'resultLevel' on <functionTerm> must be non negative integer.
GroupsUnknown
GroupsNSUndeclared The Groups namespace is not correctly declared.
GroupsElementNotInNs Element not in Groups namespace
GroupsDuplicateComponentId Duplicate 'id' attribute value
GroupsIdSyntaxRule Invalid SId syntax
GroupsAttributeRequiredMissing Required groups:required attribute on <sbml>
GroupsAttributeRequiredMustBeBoolean The groups:required attribute must be Boolean
GroupsAttributeRequiredMustHaveValue The groups:required attribute must be 'false'
GroupsModelAllowedElements Elements allowed on <model>.
GroupsModelEmptyLOElements No Empty ListOf elements allowed on <Model>.
GroupsModelLOGroupsAllowedCoreElements Core elements allowed on <model>.
GroupsModelLOGroupsAllowedCoreAttributes Core attributes allowed on <model>.
GroupsGroupAllowedCoreAttributes Core attributes allowed on <group>.
GroupsGroupAllowedCoreElements Core elements allowed on <group>.
GroupsGroupAllowedAttributes Attributes allowed on <group>.
GroupsGroupAllowedElements Elements allowed on <group>.
GroupsGroupKindMustBeGroupKindEnum Kind attribute must be GroupKind.
GroupsGroupNameMustBeString Name attribute must be String.
GroupsGroupEmptyLOElements No Empty ListOf elements allowed on <group>.
GroupsGroupLOMembersAllowedCoreElements Core elements allowed on <listOfMembers>.
GroupsGroupLOMembersAllowedCoreAttributes Core attributes allowed on <listOfMembers>.
GroupsGroupLOMembersAllowedAttributes Attributes allowed on <listOfMembers>.
GroupsLOMembersNameMustBeString Name attribute must be String.
GroupsLOMembersConsistentReferences Consistent references by multiple <member> objects.
GroupsNotCircularReferences Circular references by multiple <member> objects.
GroupsMemberAllowedCoreAttributes Core attributes allowed on <member>.
GroupsMemberAllowedCoreElements Core elements allowed on <member>.
GroupsMemberAllowedAttributes Attributes allowed on <member>.
GroupsMemberNameMustBeString Name attribute must be String.
GroupsMemberIdRefMustBeSBase Attribute 'idRef' must point to SBase object.
GroupsMemberMetaIdRefMustBeSBase Attribute 'metaIdRef' must point to SBase object.
GroupsMemberIdRefMustBeSId Attribute 'idRef' must be type 'SId'.
GroupsMemberMetaIdRefMustBeID Attribute 'metaIdRef' must be type 'ID'.
LayoutUnknownError
LayoutNSUndeclared The layout ns is not correctly declared
LayoutElementNotInNs Element not in layout namespace
LayoutDuplicateComponentId Duplicate 'id' attribute value
LayoutSIdSyntax 'id' attribute incorrect syntax
LayoutXsiTypeAllowedLocations 'xsi:type' allowed locations
LayoutXsiTypeSyntax 'xsi:type' attribute incorrect syntax
LayoutAttributeRequiredMissing Required layout:required attribute on <sbml>
LayoutAttributeRequiredMustBeBoolean The layout:required attribute must be Boolean
LayoutRequiredFalse The layout:required attribute must be 'false'
LayoutOnlyOneLOLayouts Only one listOfLayouts on <model>
LayoutLOLayoutsNotEmpty ListOf elements cannot be empty
LayoutLOLayoutsAllowedElements Allowed elements on ListOfLayouts
LayoutLOLayoutsAllowedAttributes Allowed attributes on ListOfLayouts
LayoutLayoutAllowedElements Allowed elements on Layout
LayoutLayoutAllowedCoreAttributes Allowed core attributes on Layout
LayoutOnlyOneEachListOf Only one each listOf on <layout>
LayoutNoEmptyListOfs ListOf elements cannot be empty
LayoutLayoutAllowedAttributes <layout> must have 'id' and may have 'name'
LayoutLayoutNameMustBeString 'name' must be string
LayoutLOCompGlyphAllowedAttributes Attributes allowed on <listOfCompartmentGlyphs>.
LayoutLOCompGlyphAllowedElements Elements allowed on <listOfCompartmentGlyphs>.
LayoutLOSpeciesGlyphAllowedAttributes Attributes allowed on <listOfSpeciesGlyphs>.
LayoutLOSpeciesGlyphAllowedElements Elements allowed on <listOfSpeciesGlyphs>.
LayoutLORnGlyphAllowedAttributes Attributes allowed on <listOfReactionGlyphs>.
LayoutLORnGlyphAllowedElements Elements allowed on <listOfReactionGlyphs>.
LayoutLOAddGOAllowedAttribut Attributes allowed on <listOfAdditionalGraphicalObjectGlyphs>.
LayoutLOAddGOAllowedElements Elements allowed on <listOfAdditionalGraphicalObjectGlyphs>.
LayoutLayoutMustHaveDimensions Layout must have <dimensions>.
LayoutLOTextGlyphAllowedAttributes Attributes allowed on <listOfTextGlyphs>.
LayoutLOTextGlyphAllowedElements Elements allowed on <listOfTextGlyphs>.
LayoutGOAllowedCoreElements Core elements allowed on <graphicalObject>.
LayoutGOAllowedCoreAttributes Core attributes allowed on <graphicalObject>.
LayoutGOAllowedElements Layout elements allowed on <graphicalObject>.
LayoutGOAllowedAttributes Layout attributes allowed on <graphicalObject>.
LayoutGOMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutGOMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutGOMustContainBoundingBox A <graphicalObject> must contain a <boundingBox>.
LayoutCGAllowedCoreElements Core elements allowed on <compartmentGlyph>.
LayoutCGAllowedCoreAttributes Core attributes allowed on <compartmentGlyph>.
LayoutCGAllowedElements Layout elements allowed on <compartmentGlyph>.
LayoutCGAllowedAttributes Layout attributes allowed on <compartmentGlyph>.
LayoutCGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutCGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutCGCompartmentSyntax CompartmentGlyph 'compartment' must have SIdRef syntax.
LayoutCGCompartmentMustRefComp CompartmentGlyph compartment must reference existing compartment.
LayoutCGNoDuplicateReferences CompartmentGlyph cannot reference two objects.
LayoutCGOrderMustBeDouble CompartmentGlyph order must be double.
LayoutSGAllowedCoreElements Core elements allowed on <speciesGlyph>.
LayoutSGAllowedCoreAttributes Core attributes allowed on <speciesGlyph>.
LayoutSGAllowedElements Layout elements allowed on <speciesGlyph>.
LayoutSGAllowedAttributes Layout attributes allowed on <speciesGlyph>.
LayoutSGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutSGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutSGSpeciesSyntax SpeciesGlyph 'species' must have SIdRef syntax.
LayoutSGSpeciesMustRefSpecies SpeciesGlyph species must reference existing species.
LayoutSGNoDuplicateReferences SpeciesGlyph cannot reference two objects.
LayoutRGAllowedCoreElements Core elements allowed on <reactionGlyph>.
LayoutRGAllowedCoreAttributes Core attributes allowed on <reactionGlyph>.
LayoutRGAllowedElements Layout elements allowed on <reactionGlyph>.
LayoutRGAllowedAttributes Layout attributes allowed on <reactionGlyph>.
LayoutRGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutRGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutRGReactionSyntax ReactionGlyph 'reaction' must have SIdRef syntax.
LayoutRGReactionMustRefReaction ReactionGlyph reaction must reference existing reaction.
LayoutRGNoDuplicateReferences ReactionGlyph cannot reference two objects.
LayoutLOSpeciesRefGlyphAllowedElements Allowed elements on ListOfSpeciesReferenceGlyphs
LayoutLOSpeciesRefGlyphAllowedAttribs Allowed attributes on ListOfSpeciesReferenceGlyphs
LayoutLOSpeciesRefGlyphNotEmpty ListOfSpeciesReferenceGlyphs not empty
LayoutGGAllowedCoreElements Core elements allowed on <generalGlyph>.
LayoutGGAllowedCoreAttributes Core attributes allowed on <generalGlyph>.
LayoutGGAllowedElements Layout elements allowed on <generalGlyph>.
LayoutGGAllowedAttributes Layout attributes allowed on <generalGlyph>.
LayoutGGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutGGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutGGReferenceSyntax GeneralGlyph 'reference' must have SIdRef syntax.
LayoutGGReferenceMustRefObject GeneralGlyph 'reference' must reference existing element.
LayoutGGNoDuplicateReferences GeneralGlyph cannot reference two objects.
LayoutLOReferenceGlyphAllowedElements Allowed elements on ListOfReferenceGlyphs
LayoutLOReferenceGlyphAllowedAttribs Allowed attributes on ListOfReferenceGlyphs
LayoutLOSubGlyphAllowedElements
LayoutLOSubGlyphAllowedAttribs Allowed attributes on ListOfSubGlyphs
LayoutTGAllowedCoreElements Core elements allowed on <textGlyph>.
LayoutTGAllowedCoreAttributes Core attributes allowed on <textGlyph>.
LayoutTGAllowedElements Layout elements allowed on <textGlyph>.
LayoutTGAllowedAttributes Layout attributes allowed on <textGlyph>.
LayoutTGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutTGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutTGOriginOfTextSyntax TextGlyph 'originOfText' must have SIdRef syntax.
LayoutTGOriginOfTextMustRefObject TextGlyph 'originOfText' must reference existing element.
LayoutTGNoDuplicateReferences TextGlyph cannot reference two objects.
LayoutTGGraphicalObjectSyntax TextGlyph 'graphicalObject' must have SIdRef syntax.
LayoutTGGraphicalObjectMustRefObject TextGlyph 'graphicalObject' must reference existing element.
LayoutTGTextMustBeString TextGlyph 'text' must be string.
LayoutSRGAllowedCoreElements Core elements allowed on <speciesReferenceGlyph>.
LayoutSRGAllowedCoreAttributes Core attributes allowed on <speciesReferenceGlyph>.
LayoutSRGAllowedElements Layout elements allowed on <speciesReferenceGlyph>.
LayoutSRGAllowedAttributes Layout attributes allowed on <speciesReferenceGlyph>.
LayoutSRGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutSRGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutSRGSpeciesReferenceSyntax SpeciesReferenceGlyph 'speciesReference' must have SIdRef syntax.
LayoutSRGSpeciesRefMustRefObject SpeciesReferenceGlyph 'speciesReference' must reference existing element.
LayoutSRGNoDuplicateReferences SpeciesReferenceGlyph cannot reference two objects.
LayoutSRGSpeciesGlyphSyntax SpeciesReferenceGlyph 'speciesGlyph' must have SIdRef syntax.
LayoutSRGSpeciesGlyphMustRefObject SpeciesReferenceGlyph 'speciesGlyph' must reference existing element.
LayoutSRGRoleSyntax SpeciesReferenceGlyph 'role' must be string from enumeration.
LayoutREFGAllowedCoreElements Core elements allowed on <referenceGlyph>.
LayoutREFGAllowedCoreAttributes Core attributes allowed on <referenceGlyph>.
LayoutREFGAllowedElements Layout elements allowed on <referenceGlyph>.
LayoutREFGAllowedAttributes Layout attributes allowed on <referenceGlyph>.
LayoutREFGMetaIdRefMustBeIDREF Layout 'metaidRef' must be IDREF.
LayoutREFGMetaIdRefMustReferenceObject Layout 'metaidRef' must reference existing object.
LayoutREFGReferenceSyntax ReferenceGlyph 'reference' must have SIdRef syntax.
LayoutREFGReferenceMustRefObject ReferenceGlyph 'reference' must reference existing element.
LayoutREFGNoDuplicateReferences ReferenceGlyph cannot reference two objects.
LayoutREFGGlyphSyntax ReferenceGlyph 'glyph' must have SIdRef syntax.
LayoutREFGGlyphMustRefObject ReferenceGlyph 'glyph' must reference existing element.
LayoutREFGRoleSyntax ReferenceGlyph 'role' must be string.
LayoutPointAllowedCoreElements Core elements allowed on <point>.
LayoutPointAllowedCoreAttributes Core attributes allowed on <point>.
LayoutPointAllowedAttributes Layout attributes allowed on <point>.
LayoutPointAttributesMustBeDouble Layout 'x', 'y' and 'z' must be double.
LayoutBBoxAllowedCoreElements Core elements allowed on <boundingBox>.
LayoutBBoxAllowedCoreAttributes Core attributes allowed on <boundingBox>.
LayoutBBoxAllowedElements Layout elements allowed on <boundingBox>.
LayoutBBoxAllowedAttributes Layout attributes allowed on <boundingBox>.
LayoutBBoxConsistent3DDefinition Layout consistent dimensions on a <boundingBox>
LayoutCurveAllowedCoreElements Core elements allowed on <curve>.
LayoutCurveAllowedCoreAttributes Core attributes allowed on <curve>.
LayoutCurveAllowedElements Layout elements allowed on <curve>.
LayoutCurveAllowedAttributes Layout attributes allowed on <curve>.
LayoutLOCurveSegsAllowedAttributes Allowed attributes on ListOfCurveSegments
LayoutLOCurveSegsAllowedElements Allowed elements on ListOfCurveSegments
LayoutLOCurveSegsNotEmpty No empty ListOfCurveSegments
LayoutLSegAllowedCoreElements Core elements allowed on <lineSegment>.
LayoutLSegAllowedCoreAttributes Core attributes allowed on <lineSegment>.
LayoutLSegAllowedElements Layout elements allowed on <lineSegment>.
LayoutLSegAllowedAttributes Layout attributes allowed on <lineSegment>.
LayoutCBezAllowedCoreElements Core elements allowed on <cubicBezier>.
LayoutCBezAllowedCoreAttributes Core attributes allowed on <cubicBezier>.
LayoutCBezAllowedElements Layout elements allowed on <cubicBezier>.
LayoutCBezAllowedAttributes Layout attributes allowed on <cubicBezier>.
LayoutDimsAllowedCoreElements Core elements allowed on <dimensions>.
LayoutDimsAllowedCoreAttributes Core attributes allowed on <dimensions>.
LayoutDimsAllowedAttributes Layout attributes allowed on <dimensions>.
LayoutDimsAttributesMustBeDouble Layout 'width', 'height' and 'depth' must be double.

SBMLErrorCategory_t

SBMLErrorCategory_t is an enumeration of category codes for SBMLError diagnostics. The category can be retrieved from an SBMLError object using the method SBMLError::getCategory(). These enumeration values are distinct from (and in addition to) the XMLErrorCategory_t codes used by the parent XMLError object. User programs receiving an SBMLError object can use this distinction to check whether the error represents a low-level XML problem or an SBML problem.

The following table lists each possible value and a brief description of its meaning.

Enumerator Meaning
LIBSBML_CAT_SBMLGeneral error not falling into another category below.
LIBSBML_CAT_SBML_L1_COMPATCategory of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model from SBML Level 2 to SBML Level 1.
LIBSBML_CAT_SBML_L2V1_COMPATCategory of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model to SBML Level 2 Version 1.
LIBSBML_CAT_SBML_L2V2_COMPATCategory of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model to SBML Level 2 Version 2.
LIBSBML_CAT_GENERAL_CONSISTENCYCategory of errors that can occur while validating general SBML constructs. With respect to the SBML specification, these concern failures in applying the validation rules numbered 2xxxx in the Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_IDENTIFIER_CONSISTENCYCategory of errors that can occur while validating symbol identifiers in a model. With respect to the SBML specification, these concern failures in applying the validation rules numbered 103xx in the Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_UNITS_CONSISTENCYCategory of errors that can occur while validating the units of measurement on quantities in a model. With respect to the SBML specification, these concern failures in applying the validation rules numbered 105xx in the Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_MATHML_CONSISTENCYCategory of errors that can occur while validating MathML formulas in a model. With respect to the SBML specification, these concern failures in applying the validation rules numbered 102xx in the Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_SBO_CONSISTENCYCategory of errors that can occur while validating SBO identifiers in a model. With respect to the SBML specification, these concern failures in applying the validation rules numbered 107xx in the Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_OVERDETERMINED_MODELError in the system of equations in the model: the system is overdetermined, therefore violating a tenet of proper SBML. With respect to the SBML specification, this is validation rule #10601 in the SBML Level 2 Versions 2–4 and Level 3 Versions 1–2 specifications.
LIBSBML_CAT_SBML_L2V3_COMPATCategory of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model to SBML Level 2 Version 3.
LIBSBML_CAT_MODELING_PRACTICECategory of warnings about recommended good practices involving SBML and computational modeling. (These are tests performed by libSBML and do not have equivalent SBML validation rules.)
LIBSBML_CAT_INTERNAL_CONSISTENCYCategory of errors that can occur while validating libSBML's internal representation of SBML constructs. (These are tests performed by libSBML and do not have equivalent SBML validation rules.)
LIBSBML_CAT_SBML_L2V4_COMPATCategory of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model to SBML Level 2 Version 4.
LIBSBML_CAT_SBML_L3V1_COMPAT

Category of errors that can only occur during attempted translation from one Level/Version of SBML to another. This particular category applies to errors encountered while trying to convert a model to SBML Level 3 Version 1.

SBMLErrorSeverity_t

This is an enumeration of severity codes for SBMLError diagnostics. User programs receiving an SBMLError object can use this distinction to check whether the error represents a low-level XML problem or an SBML problem.

In libSBML version 5.20.4 there are no additional severity codes in SBMLErrorSeverity_t beyond those defined in XMLErrorSeverity_t.


Examples
addCustomValidator.cpp, createExampleSBML.cpp, and rngvalidator.cpp.

Public Member Functions

unsigned int getCategory () const
 Returns the category of this error. More...
 
const std::string & getCategoryAsString () const
 Returns a string describing the category of this error. More...
 
unsigned int getColumn () const
 Returns the column number in the XML input near where the error, warning or other diagnostic occurred. More...
 
unsigned int getErrorId () const
 Returns the identifier of this error. More...
 
unsigned int getErrorIdOffset () const
 Returns libSBML's internal numerical offset for the error code associated with this error. More...
 
unsigned int getLine () const
 Returns the line number in the XML input near where the error, warning or other diagnostic occurred. More...
 
const std::string & getMessage () const
 Returns the message text of this error. More...
 
const std::string & getPackage () const
 Returns the SBML Level 3 package extension (if any) that logged this error. More...
 
unsigned int getSeverity () const
 Returns the severity of this error. More...
 
const std::string & getSeverityAsString () const
 Returns a string describing the severity level of this error. More...
 
const std::string & getShortMessage () const
 Returns a brief message for this error. More...
 
bool isError () const
 Predicate returning true or false depending on whether this error is a significant error. More...
 
bool isFatal () const
 Predicate returning true or false depending on whether this error is a fatal run-time error. More...
 
bool isInfo () const
 Predicate returning true or false depending on whether this error object is for information purposes only. More...
 
bool isInternal () const
 Predicate returning true or false depending on whether this error resulted from an internal program error. More...
 
bool isSystem () const
 Predicate returning true or false depending on whether this error was generated by the operating system. More...
 
bool isValid () const
 Predicate returning true or false depending on whether this error resulted from a problem or whether it was logged as an unknown error. More...
 
bool isWarning () const
 Predicate returning true or false depending on whether this error object is a warning. More...
 
bool isXML () const
 Predicate returning true or false depending on whether this error resulted from a problem in the XML input (e.g., an XML syntax error). More...
 
 SBMLError (const unsigned int errorId=0, const unsigned int level=SBML_DEFAULT_LEVEL, const unsigned int version=SBML_DEFAULT_VERSION, const std::string details="", const unsigned int line=0, const unsigned int column=0, const unsigned int severity=LIBSBML_SEV_UNKNOWN, const unsigned int category=LIBSBML_CAT_SBML, const std::string package="core", const unsigned int pkgVersion=1)
 Creates a new SBMLError to report that something occurred during SBML processing. More...
 
virtual int setCategory (unsigned int category)
 Sets the category of this error. More...
 
virtual int setCategoryString (const std::string &categoryString)
 Sets the category string of this error. More...
 
int setColumn (unsigned int column)
 Sets the column number where this error occurred. More...
 
virtual int setErrorId (unsigned int errorId)
 Sets the identifier of this error. More...
 
int setLine (unsigned int line)
 Sets the line number where this error occurred. More...
 
virtual int setMessage (const std::string &message)
 Sets the message text of this error. More...
 
virtual int setSeverity (unsigned int severity)
 Sets the severity of this error. More...
 
virtual int setSeverityString (const std::string &severityString)
 Sets the severity of this error. More...
 
virtual int setShortMessage (const std::string &shortMessage)
 Sets a brief message for this error. More...
 

Static Public Member Functions

static const std::string getStandardMessage (const int code)
 Returns a copy of the message string associated with the given predefined XMLError code. More...
 

Constructor & Destructor Documentation

◆ SBMLError()

SBMLError::SBMLError ( const unsigned int  errorId = 0,
const unsigned int  level = SBML_DEFAULT_LEVEL,
const unsigned int  version = SBML_DEFAULT_VERSION,
const std::string  details = "",
const unsigned int  line = 0,
const unsigned int  column = 0,
const unsigned int  severity = LIBSBML_SEV_UNKNOWN,
const unsigned int  category = LIBSBML_CAT_SBML,
const std::string  package = "core",
const unsigned int  pkgVersion = 1 
)

Creates a new SBMLError to report that something occurred during SBML processing.

When a libSBML operation on SBML content results in a warning, error or other diagnostic, the issue is reported as an SBMLError object. SBMLError objects have identification numbers to indicate the nature of the exception. These numbers are drawn from the enumeration SBMLErrorCode_t. The argument errorId to this constructor can be (but does not have to be) a value from this enumeration. If it is a value from SBMLErrorCode_t, the SBMLError class assumes the error is a low-level system or SBML layer error and prepends a built-in, predefined error message to any string passed in the argument details to this constructor. In addition, all SBMLErrorCode_t errors have associated values for the severity and category codes, and these fields are filled-in as well from the enumerations SBMLErrorSeverity_t and SBMLErrorCategory_t, respectively.

If the error identifier errorId is a number greater than 99999, the SBMLError class assumes the error was generated from another part of the software and does not do additional filling in of values beyond the default in the constructor itself. This allows SBMLError to serve as a base class for other errors, such as for user-defined validation rules (see Validator). Callers should fill in all the parameters with suitable values if generating errors with codes greater than 99999 to make maximum use of the SBMLError facilities.

As mentioned above, there are two other enumerations, SBMLErrorSeverity_t and SBMLErrorCategory_t, used for indicating the severity and category of error for the predefined SBMLError codes. The values passed in severity and category override the defaults assigned based on the error code. If the value of errorId is a value from SBMLErrorCode_t, callers do not need to fill in severity and category. Conversely, if errorId is not a value from SBMLErrorCode_t, callers can use other values (not just those from SBMLErrorSeverity_t and SBMLErrorCategory_t, but their own special values) for severity and category.

Please see the top of the documentation for SBMLError for a longer discussion of the possible error codes, their meanings, and their applicability to different combinations of Level+Version of SBML.

Parameters
errorIdan unsigned int, the identification number of the error.
levelthe SBML Level of the SBML model.
versionthe SBML Version within the Level of the SBML model.
detailsa string containing additional details about the error. If the error code in errorId is one that is recognized by SBMLError, the given message is appended to a predefined message associated with the given code. If the error code is not recognized, the message is stored as-is as the text of the error.
linean unsigned int, the line number at which the error occured.
columnan unsigned int, the column number at which the error occured.
severityan integer indicating severity of the error.
categoryan integer indicating the category to which the error belongs.
packagethe SBML Level package involved.
pkgVersionthe version of the package.

Member Function Documentation

◆ getCategory()

unsigned int XMLError::getCategory ( ) const
inherited

Returns the category of this error.

XMLError defines an enumeration of category codes for the XML layer. Applications that build on XMLError by subclassing it may add their own categories with numbers higher than those in the predefined set of category codes.

Categories can be used to partition errors into distinct groups. Among other things, this can be used to prevent id conflicts by uniquely identifying an XMLError by both id and category.

Returns
the category of this XMLError.
See also
getSeverity()
getCategoryAsString()

◆ getCategoryAsString()

const std::string & XMLError::getCategoryAsString ( ) const
inherited

Returns a string describing the category of this error.

XMLError defines an enumeration of category codes for the XML layer. Applications that build on XMLError by subclassing it may add their own categories with numbers higher than those in the predefined set of category codes.

Categories can be used to partition errors into distinct groups. Among other things, this can be used to prevent id conflicts by uniquely identifying an XMLError by both id and category.

Returns
string representing the category of this XMLError.
See also
getCategory()
getSeverityAsString()

◆ getColumn()

unsigned int XMLError::getColumn ( ) const
inherited

Returns the column number in the XML input near where the error, warning or other diagnostic occurred.

We say "near where the problem occurred", because many factors affect how accurate the line/column information ultimately is. For example, sometimes, the underlying XML parsers can only report such information for the parent XML element where an error occurs, and not for the specific point where the problem occurs. In other situations, some parsers report invalid line and/or column numbers altogether. If this occurs, libSBML sets the line and/or column number in the XMLError object to either 0 or the value of the maximum unsigned long integer representable on the platform where libSBML is running. The probability that a true line or column number in an SBML model would equal this value is vanishingly small; thus, if an application encounters these values in an XMLError object, it can assume no valid line/column number could be provided by libSBML in that situation.

Returns
the column number.
See also
getLine()

◆ getErrorId()

unsigned int XMLError::getErrorId ( ) const
inherited

Returns the identifier of this error.

Returns
the error code for this error.
See also
getMessage()
getShortMessage()
getCategory()
getSeverity()

◆ getErrorIdOffset()

unsigned int XMLError::getErrorIdOffset ( ) const
inherited

Returns libSBML's internal numerical offset for the error code associated with this error.

In the SBML Level 3 package specifications, package validation rules are identified by 5-digit numbers prefixed with the nickname of the package itself—e.g., “comp-10101”, “fbc-20301”, etc. Historically, libSBML reported error codes as pure integers, and some application software systems make decisions based on the numerical values of the error codes. To permit these applications to continue to function in this fashion, libSBML internally continues to maintain error identifiers as pure integers. To handle the possibility that errors may come from package extensions, libSBML uses numerical offsets added to the internal error codes. These offsets add two leading digits to the regular 5-digit error codes; for example, “comp” error codes are stored as 1010101, 1020102, etc. The offset in this case is 1000000. Another package will have the offset 2000000, yet another will have 3000000, etc.

This method returns the integer offset in this error's error code. Calling applications can get the 5-digit package-specific number for a given error code by subtracting the offset from the value reported by getErrorId():

getErrorId() - getErrorIdOffset()

When libSBML produces error messages, it combines the text string returned by getPackage() with the subtracted value of the error code, to produce a text string of the form “comp-10101”.

See also
getErrorId()
getPackage()

◆ getLine()

unsigned int XMLError::getLine ( ) const
inherited

Returns the line number in the XML input near where the error, warning or other diagnostic occurred.

We say "near where the problem occurred", because many factors affect how accurate the line/column information ultimately is. For example, sometimes, the underlying XML parsers can only report such information for the parent XML element where an error occurs, and not for the specific point where the problem occurs. In other situations, some parsers report invalid line and/or column numbers altogether. If this occurs, libSBML sets the line and/or column number in the XMLError object to either 0 or the value of the maximum unsigned long integer representable on the platform where libSBML is running. The probability that a true line or column number in an SBML model would equal this value is vanishingly small; thus, if an application encounters these values in an XMLError object, it can assume no valid line/column number could be provided by libSBML in that situation.

Returns
the line number.
See also
getColumn()

◆ getMessage()

const string & XMLError::getMessage ( ) const
inherited

Returns the message text of this error.

The message associated with an error object describes the nature of the problem. The message returned by this method is generally longer and clearer than the message returned by XMLError::getShortMessage(), but not in all cases.

Callers may use XMLError::getCategory() and XMLError::getSeverity() to obtain additional information about the nature and severity of the problem.

Returns
the message text.
See also
getErrorId()
getShortMessage()
getCategory()
getSeverity()

◆ getPackage()

const std::string & XMLError::getPackage ( ) const
inherited

Returns the SBML Level 3 package extension (if any) that logged this error.

Each error logged by an libSBML extension for SBML Level 3 packages includes a record of the package that logged it. The field is a simple text string. If the string is empty or has the value "core", then the error came from libSBML core; otherwise, the string will be the short-form name of the package (e.g., "comp" for the Hierarchical Model Composition package).

Returns
a string representing the name of the package that logged this error. If the error did not come from a package extension, the value will be the empty string or "core".

◆ getSeverity()

unsigned int XMLError::getSeverity ( ) const
inherited

Returns the severity of this error.

XMLError defines an enumeration of severity codes for the XML layer. Applications that build on XMLError by subclassing it may add their own severity codes with numbers higher than those in the predefined set of severity codes.

Returns
the severity of this XMLError.
See also
getSeverityAsString()
getCategory()

◆ getSeverityAsString()

const std::string & XMLError::getSeverityAsString ( ) const
inherited

Returns a string describing the severity level of this error.

XMLError defines an enumeration of severity codes for the XML layer. Applications that build on XMLError by subclassing it may add their own severity codes with numbers higher than those in the predefined set of severity codes.

Returns
string representing the severity of this XMLError.
See also
getSeverity()
getCategoryAsString()

◆ getShortMessage()

const string & XMLError::getShortMessage ( ) const
inherited

Returns a brief message for this error.

This is an alternative error message that, in general, is as short as the authors could make it. However, brevity is often inversely proportional to clarity, so this short message may not be sufficiently informative to understand the nature of the error. Calling applications may wish to check XMLError::getMessage() in addition or instead.

Returns
the short error message text.
See also
getErrorId()
getMessage()
getCategory()
getSeverity()

◆ getStandardMessage()

const string XMLError::getStandardMessage ( const int  code)
staticinherited

Returns a copy of the message string associated with the given predefined XMLError code.

Parameters
codethe error code whose message is sought; it must be a predefined value from XMLErrorCode_t.

◆ isError()

bool XMLError::isError ( ) const
inherited

Predicate returning true or false depending on whether this error is a significant error.

This is equivalent to obtaining the severity code from an XMLError object (via XMLError::getSeverity()) and then comparing it to the value LIBSBML_SEV_ERROR from the enumeration XMLErrorSeverity_t.

Returns
true if this error is an error, false otherwise.
See also
isInfo()
isWarning()
isFatal()
Examples
createExampleSBML.cpp, and validateSBML.cpp.

◆ isFatal()

bool XMLError::isFatal ( ) const
inherited

Predicate returning true or false depending on whether this error is a fatal run-time error.

This is equivalent to obtaining the severity code from an XMLError object (via XMLError::getSeverity()) and then comparing it to the value LIBSBML_SEV_FATAL from the enumeration XMLErrorSeverity_t.

Returns
true if this error is a fatal error, false otherwise.
See also
isInfo()
isWarning()
isError()
Examples
createExampleSBML.cpp, and validateSBML.cpp.

◆ isInfo()

bool XMLError::isInfo ( ) const
inherited

Predicate returning true or false depending on whether this error object is for information purposes only.

This is equivalent to obtaining the severity code from an XMLError object (via XMLError::getSeverity()) and then comparing it to the value LIBSBML_SEV_INFO from the enumeration XMLErrorSeverity_t.

Returns
true if this XMLError is for informational purposes only, false otherwise.
See also
isWarning()
isError()
isFatal()

◆ isInternal()

bool XMLError::isInternal ( ) const
inherited

Predicate returning true or false depending on whether this error resulted from an internal program error.

This is equivalent to obtaining the category identifier from an XMLError object (via XMLError::getCategory()) and then comparing it to the value LIBSBML_CAT_INTERNAL from the enumeration XMLErrorCategory_t.

Returns
a boolean indicating whether the error is an internal error.
See also
isSystem()
isXML()

◆ isSystem()

bool XMLError::isSystem ( ) const
inherited

Predicate returning true or false depending on whether this error was generated by the operating system.

This is equivalent to obtaining the category identifier from an XMLError object (via XMLError::getCategory()) and then comparing it to the value LIBSBML_CAT_SYSTEM from the enumeration XMLErrorCategory_t.

Returns
boolean indicating whether the error is a system error.
See also
isInternal()
isXML()

◆ isValid()

bool XMLError::isValid ( ) const
inherited

Predicate returning true or false depending on whether this error resulted from a problem or whether it was logged as an unknown error.

This is equivalent to obtaining the error identifier from an XMLError object (via XMLError::getErrorId()) and then comparing it to the value XMLUnknownError or UnknownError from the enumeration XMLErrorCode_t.

Returns
a boolean indicating whether the error is a valid error (true) or whether it is unknown (false).

◆ isWarning()

bool XMLError::isWarning ( ) const
inherited

Predicate returning true or false depending on whether this error object is a warning.

This is equivalent to obtaining the severity code from an XMLError object (via XMLError::getSeverity()) and then comparing it to the value LIBSBML_SEV_WARNING from the enumeration XMLErrorSeverity_t.

Returns
true if this error is a warning, false otherwise.
See also
isInfo()
isError()
isFatal()

◆ isXML()

bool XMLError::isXML ( ) const
inherited

Predicate returning true or false depending on whether this error resulted from a problem in the XML input (e.g., an XML syntax error).

This is equivalent to obtaining the category identifier from an XMLError object (via XMLError::getCategory()) and then comparing it to the value LIBSBML_CAT_XML from the enumeration XMLErrorCategory_t.

Returns
a boolean indicating whether the error is an XML catetory error.
See also
isInternal()
isSystem()

◆ setCategory()

int XMLError::setCategory ( unsigned int  category)
virtualinherited

Sets the category of this error.

XMLError defines an enumeration of category codes for the XML layer. Applications that build on XMLError by subclassing it may add their own categories with numbers higher than those in the predefined set of category codes.

Categories can be used to partition errors into distinct groups. Among other things, this can be used to prevent id conflicts by uniquely identifying an XMLError by both id and category.

See also
setSeverity()

◆ setCategoryString()

int XMLError::setCategoryString ( const std::string &  categoryString)
virtualinherited

Sets the category string of this error.

XMLError defines an enumeration of category codes for the XML layer. Applications that build on XMLError by subclassing it may add their own categories with numbers higher than those in the predefined set of category codes. If so, 'setCategoryString' must be used to set the name of this category for users.

Note that this function does not set the category code itself.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:

Categories can be used to partition errors into distinct groups. Among other things, this can be used to prevent id conflicts by uniquely identifying an XMLError by both id and category.

See also
setSeverity()

◆ setColumn()

int XMLError::setColumn ( unsigned int  column)
inherited

Sets the column number where this error occurred.

Parameters
columnan unsigned int, the column number to set.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setLine(unsigned int line)

◆ setErrorId()

int XMLError::setErrorId ( unsigned int  errorId)
virtualinherited

Sets the identifier of this error.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setMessage()
setShortMessage()
setCategory()
setSeverity()

◆ setLine()

int XMLError::setLine ( unsigned int  line)
inherited

Sets the line number where this error occurred.

Parameters
linean unsigned int, the line number to set.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setColumn(unsigned int column)

◆ setMessage()

int XMLError::setMessage ( const std::string &  message)
virtualinherited

Sets the message text of this error.

The message associated with an error object describes the nature of the problem. The message set by this method is generally longer and clearer than the message returned by XMLError::setShortMessage(), but not in all cases.

Callers may use XMLError::setCategory() and XMLError::setSeverity() to set additional information about the nature and severity of the problem.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setErrorId()
setShortMessage()
setCategory()
setSeverity()

◆ setSeverity()

int XMLError::setSeverity ( unsigned int  severity)
virtualinherited

Sets the severity of this error.

XMLError defines an enumeration of severity codes for the XML layer. Applications that build on XMLError by subclassing it may add their own severity codes with numbers higher than those in the predefined set of severity codes.

See also
setCategory()

◆ setSeverityString()

int XMLError::setSeverityString ( const std::string &  severityString)
virtualinherited

Sets the severity of this error.

XMLError defines an enumeration of severity codes for the XML layer. Applications that build on XMLError by subclassing it may add their own severity codes with numbers higher than those in the predefined set of severity codes. If so, 'setSeverityString' must be used to set the name of this category for users.

Note that this function does not set the severity code itself.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setCategory()

◆ setShortMessage()

int XMLError::setShortMessage ( const std::string &  shortMessage)
virtualinherited

Sets a brief message for this error.

This is an alternative error message that, in general, is as short as the authors could make it. However, brevity is often inversely proportional to clarity, so this short message may not be sufficiently informative to understand the nature of the error. Setting the longer message with setMessage() in addition may be advisable.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. This particular function only does one thing irrespective of user input or object state, and thus will only return a single value:
See also
setErrorId()
setMessage()
setCategory()
setSeverity()