Class to store SBML level, version and namespace information.
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.
|
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. 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 Extension) 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 = SBML_DEFAULT_LEVEL , |
|
|
unsigned int |
version = SBML_DEFAULT_VERSION |
|
) |
| |
Creates a new SBMLNamespaces object corresponding to the given SBML level
and version
.
SBMLNamespaces objects are used in libSBML to communicate SBML Level and Version data between constructors and other methods. The SBMLNamespaces object class tracks 3-tuples (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; 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.
- Parameters
-
level | the SBML level |
version | the SBML version |
- Documentation note:
-
The native C++ implementation of this method defines a default argument
value. In the documentation generated for different libSBML language
bindings, you may or may not see corresponding arguments in the method
declarations. For example, in Java and C#, a default argument is handled by
declaring two separate methods, with one of them having the argument and
the other one lacking the argument. However, the libSBML documentation will
be identical for both methods. Consequently, if you are reading
this and do not see an argument even though one is described, please look
for descriptions of other variants of this method near where this one
appears in the documentation.