Set of SBML Level + Version + namespace triples.
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.
There are differences in the definitions of components between different SBML Levels, as well as Versions within Levels. For example, the "sboTerm" attribute was not introduced until Level 2 Version 2, and then only on certain component classes; the SBML Level 2 Version 3 specification moved the "sboTerm" attribute to the SBase class, thereby allowing nearly all components to have SBO annotations. As a result of differences such as those, libSBML needs to track the SBML Level and Version of every object created.
The purpose of the SBMLNamespaces object class is to make it easier to communicate SBML Level and Version data between libSBML constructors and other methods. The SBMLNamespaces object class tracks 3-tuples (triples) consisting of SBML Level, Version, and the corresponding SBML XML namespace.
The plural name (SBMLNamespaces) is not a mistake, because in SBML Level 3, objects may have extensions added by Level 3 packages used by a given model and therefore may have multiple namespaces associated with them; however, until the introduction of SBML Level 3, the SBMLNamespaces object only records one SBML Level/Version/namespace combination at a time. Most constructors for SBML objects in libSBML take a SBMLNamespaces object as an argument, thereby allowing the constructor to produce the proper combination of attributes and other internal data structures for the given SBML Level and Version.
- Examples:
- convertLayout.cpp, example1-L3.cpp, example1.cpp, example2-L3.cpp, example2.cpp, example3-L3.cpp, example3.cpp, fbc_example1.cpp, groups_example1.cpp, groups_example2.cpp, printSupported.cpp, qual_example1.cpp, spec_example1.cpp, spec_example2.cpp, spec_example3.cpp, and spec_example4.cpp.
|
int | addNamespace (const std::string &uri, const std::string &prefix) |
| Add an XML namespace (a pair of URI and prefix) to the set of namespaces within this SBMLNamespaces object. More...
|
|
int | addNamespaces (const XMLNamespaces *xmlns) |
| Add the given XML namespaces list to the set of namespaces within this SBMLNamespaces object. More...
|
|
int | addPackageNamespace (const std::string &pkgName, unsigned int pkgVersion, const std::string &prefix="") |
| Add an XML namespace (a pair of URI and prefix) of a package extension to the set of namespaces within this SBMLNamespaces object. More...
|
|
int | addPackageNamespaces (const XMLNamespaces *xmlns) |
| Add the XML namespaces of package extensions in the given XMLNamespace object to the set of namespaces within this SBMLNamespaces object (Non-package XML namespaces are not added by this function). More...
|
|
virtual SBMLNamespaces * | clone () const |
| Creates and returns a deep copy of this SBMLNamespaces object. More...
|
|
unsigned int | getLevel () |
| Get the SBML Level of this SBMLNamespaces object. More...
|
|
unsigned int | getLevel () const |
| Get the SBML Level of this SBMLNamespaces object. More...
|
|
XMLNamespaces * | getNamespaces () |
| Get the XML namespaces list for this SBMLNamespaces object. More...
|
|
const XMLNamespaces * | getNamespaces () const |
| Get the XML namespaces list for this SBMLNamespaces object. More...
|
|
virtual const std::string & | getPackageName () const |
| Returns the name of the main package for this namespace. More...
|
|
virtual std::string | getURI () const |
| Returns a string representing the SBML XML namespace of this object. More...
|
|
unsigned int | getVersion () |
| Get the SBML Version of this SBMLNamespaces object. More...
|
|
unsigned int | getVersion () const |
| Get the SBML Version of this SBMLNamespaces object. More...
|
|
bool | isValidCombination () |
| Predicate returning true if the given set of namespaces represent a valid set. More...
|
|
SBMLNamespaces & | operator= (const SBMLNamespaces &rhs) |
| Assignment operator for SBMLNamespaces. More...
|
|
int | removeNamespace (const std::string &uri) |
| Removes an XML namespace from the set of namespaces within this SBMLNamespaces object. More...
|
|
int | removePackageNamespace (unsigned int level, unsigned version, const std::string &pkgName, unsigned int pkgVersion) |
| Removes an XML namespace of a package extension from the set of namespaces within this SBMLNamespaces object. More...
|
|
| SBMLNamespaces (unsigned int level=SBML_DEFAULT_LEVEL, unsigned int version=SBML_DEFAULT_VERSION) |
| Creates a new SBMLNamespaces object corresponding to the given SBML level and version . More...
|
|
| SBMLNamespaces (unsigned int level, unsigned int version, const std::string &pkgName, unsigned int pkgVersion, const std::string pkgPrefix="") |
| (For extensions) Creates a new SBMLNamespaces object corresponding to the combination of (1) the given SBML level and version , and (2) the given package with the package version . More...
|
|
| SBMLNamespaces (const SBMLNamespaces &orig) |
| Copy constructor; creates a copy of a SBMLNamespaces. More...
|
|
virtual | ~SBMLNamespaces () |
| Destroys this SBMLNamespaces object. More...
|
|
SBMLNamespaces::SBMLNamespaces |
( |
unsigned int |
level, |
|
|
unsigned int |
version, |
|
|
const std::string & |
pkgName, |
|
|
unsigned int |
pkgVersion, |
|
|
const std::string |
pkgPrefix = "" |
|
) |
| |
(For extensions) Creates a new SBMLNamespaces object corresponding to the combination of (1) the given SBML level
and version
, and (2) the given package
with the package
version
.
(For Extension)
- SBMLNamespaces objects are used in libSBML to communicate SBML Level and Version data between constructors and other methods. The SBMLNamespaces object class holds triples consisting of SBML Level, Version, and the corresponding SBML XML namespace. Most constructors for SBML objects in libSBML take a SBMLNamespaces object as an argument, thereby allowing the constructor to produce the proper combination of attributes and other internal data structures for the given SBML Level and Version.
The plural name (SBMLNamespaces) is not a mistake, because in SBML Level 3, objects may have extensions added by Level 3 packages used by a given model and therefore may have multiple namespaces associated with them. In SBML Levels below Level 3, the SBMLNamespaces object only records one SBML Level/Version/namespace combination at a time. Most constructors for SBML objects in libSBML take a SBMLNamespaces object as an argument, thereby allowing the constructor to produce the proper combination of attributes and other internal data structures for the given SBML Level and Version.
- Parameters
-
level | the SBML Level. |
version | the SBML Version. |
pkgName | the string of package name (e.g. "layout", "multi"). |
pkgVersion | the package version. |
pkgPrefix | the prefix of the package namespace (e.g. "layout", "multi") to be added. The package's name will be used if the given string is empty (default). |
- Exceptions
-
SBMLExtensionException | if the extension module that supports the combination of the given SBML Level, SBML Version, package name, and package version has not been registered with libSBML. |
Creates a new SBMLNamespaces object corresponding to the combination of (1) the given SBML level
and version
, and (2) the given package
with the package
version
.