Upon the addition of an AlgebraicRule object to an SBMLDocument, the SBML Level, SBML Version and XML namespace of the document override the values used when creating the AlgebraicRule object via the AlgebraicRule constructors. This is necessary to ensure that an SBML document has a consistent overall structure. Nevertheless, the ability to supply the values at the time of creation of a AlgebraicRule is an important aid to producing valid SBML. Knowledge of the intented SBML Level and Version determine whether it is valid to assign a particular value to an attribute, or whether it is valid to add an object to an existing SBMLDocument.
Visit SBML.org for more information
about SBML and libSBML.