{core}
Representation of a node in an XML document tree.
Beginning with version 3.0.0, libSBML implements an XML abstraction layer. This layer presents a uniform XML interface to calling programs regardless of which underlying XML parser libSBML has actually been configured to use. The basic data object in the XML abstraction is a node, represented by XMLNode.
An XMLNode can contain any number of children. Each child is another XMLNode, thereby forming a tree. The methods XMLNode.getNumChildren() and XMLNode.getChild() can be used to access the tree structure starting from a given node.
Each XMLNode is subclassed from XMLToken, and thus has the same methods available as XMLToken. These methods include XMLToken.getNamespaces(), XMLToken.getPrefix(), XMLToken.getName(), XMLToken.getURI(), and XMLToken.getAttributes().
Conversion between an XML string and an XMLNode
LibSBML provides the following utility functions for converting an XML string (e.g., <annotation>...</annotation>
) to/from an XMLNode object.
The returned XMLNode object by XMLNode.convertStringToXMLNode() is a dummy root (container) XMLNode if the given XML string has two or more top-level elements (e.g., "<code><p>...</p><p>...</p></code>"). In the dummy root node, each top-level element in the given XML string is contained as a child XMLNode. XMLToken.isEOF() can be used to identify if the returned XMLNode object is a dummy node or not. Here is an example:
xn = XMLNode.convertStringToXMLNode('<p></p>')
if xn == None:
# Do something to handle exceptional situation.
elif xn.isEOF():
# Node is a dummy node.
else:
# None is not a dummy node.
def libsbml.XMLToken.addAttr |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
addAttr(XMLToken self, string name, string value, string namespaceURI="", string prefix="")
int
addAttr(XMLToken self, string name, string value, string namespaceURI="")
int
addAttr(XMLToken self, string name, string value)
int
addAttr(XMLToken self, XMLTriple triple, string value)
int
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: addAttr( XMLTriple triple, string value)
Adds an attribute with the given XMLTriple/value pair to the attribute set in this XMLToken. Nothing will be done if this XMLToken is not a start element.
- Note
- if local name with the same namespace URI already exists in the attribute set, its value and prefix will be replaced.
- Parameters
-
triple | an XMLTriple, the XML triple of the attribute. |
value | a string, the value of the attribute. |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
Method variant with the following signature: addAttr( string name , string value , string namespaceURI = '' , string prefix = '')
Adds an attribute to the attribute set in this XMLToken optionally with a prefix and URI defining a namespace. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
name | a string, the local name of the attribute. |
value | a string, the value of the attribute. |
namespaceURI | a string, the namespace URI of the attribute. |
prefix | a string, the prefix of the namespace |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
- Note
- if local name with the same namespace URI already exists in the attribute set, its value and prefix will be replaced.
- 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.
def libsbml.XMLToken.addNamespace |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
addNamespace(XMLToken self, string uri, string prefix="")
int
addNamespace(XMLToken self, string uri)
int
Appends an XML namespace prefix and URI pair to this XMLToken. If there is an XML namespace with the given prefix in this XMLToken, then the existing XML namespace will be overwritten by the new one.
Nothing will be done if this XMLToken is not a start element.
- Parameters
-
uri | a string, the uri for the namespace |
prefix | a string, the prefix for the namespace |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
- 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.
def libsbml.XMLNode.clone |
( |
|
self | ) |
|
{core}
Representation of a node in an XML document tree.
Beginning with version 3.0.0, libSBML implements an XML abstraction layer. This layer presents a uniform XML interface to calling programs regardless of which underlying XML parser libSBML has actually been configured to use. The basic data object in the XML abstraction is a node, represented by XMLNode.
An XMLNode can contain any number of children. Each child is another XMLNode, thereby forming a tree. The methods XMLNode.getNumChildren() and XMLNode.getChild() can be used to access the tree structure starting from a given node.
Each XMLNode is subclassed from XMLToken, and thus has the same methods available as XMLToken. These methods include XMLToken.getNamespaces(), XMLToken.getPrefix(), XMLToken.getName(), XMLToken.getURI(), and XMLToken.getAttributes().
Conversion between an XML string and an XMLNode
LibSBML provides the following utility functions for converting an XML string (e.g., <annotation>...</annotation>
) to/from an XMLNode object.
The returned XMLNode object by XMLNode.convertStringToXMLNode() is a dummy root (container) XMLNode if the given XML string has two or more top-level elements (e.g., "<code><p>...</p><p>...</p></code>"). In the dummy root node, each top-level element in the given XML string is contained as a child XMLNode. XMLToken.isEOF() can be used to identify if the returned XMLNode object is a dummy node or not. Here is an example:
xn = XMLNode.convertStringToXMLNode('<p></p>')
if xn == None:
# Do something to handle exceptional situation.
elif xn.isEOF():
# Node is a dummy node.
else:
# None is not a dummy node.
Python method signature(s):
clone(XMLNode self)
XMLNode
Creates and returns a deep copy of this XMLNode.
- Returns
- a (deep) copy of this XMLNode.
def libsbml.XMLToken.getAttrIndex |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
getAttrIndex(XMLToken self, string name, string uri="")
int
getAttrIndex(XMLToken self, string name)
int
getAttrIndex(XMLToken self, XMLTriple triple)
int
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: getAttrIndex(XMLTriple triple)
Return the index of an attribute with the given XMLTriple.
- Parameters
-
triple | an XMLTriple, the XML triple of the attribute for which the index is required. |
- Returns
- the index of an attribute with the given XMLTriple, or
-1
if not present.
Method variant with the following signature: getAttrIndex(string name, string uri='')
Return the index of an attribute with the given local name and namespace URI.
- Parameters
-
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
- Returns
- the index of an attribute with the given local name and namespace URI, or
-1
if not present.
- 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.
def libsbml.XMLToken.getAttrValue |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
getAttrValue(XMLToken self, int index)
string
getAttrValue(XMLToken self, string name, string uri="")
string
getAttrValue(XMLToken self, string name)
string
getAttrValue(XMLToken self, XMLTriple triple)
string
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: getAttrValue(XMLTriple triple)
Return a value of an attribute with the given XMLTriple.
- Parameters
-
triple | an XMLTriple, the XML triple of the attribute whose value is required. |
- Returns
- The attribute value as a string.
- Note
- If an attribute with the given XMLTriple does not exist, an empty string will be returned. Use XMLToken.hasAttr() to test for attribute existence.
Method variant with the following signature: getAttrValue(int index)
Return the value of an attribute in the attribute set in this XMLToken (by position).
- Parameters
-
index | an integer, the position of the attribute whose value is required. |
- Returns
- the value of an attribute in the attribute set (by position).
- Note
- If index is out of range, an empty string will be returned. Use XMLToken.hasAttr() to test for attribute existence.
Method variant with the following signature: getAttrValue(string name, string uri='')
Return a value of an attribute with the given local name and namespace URI.
- Parameters
-
name | a string, the local name of the attribute whose value is required. |
uri | a string, the namespace URI of the attribute. |
- Returns
- The attribute value as a string.
- Note
- If an attribute with the given local name and namespace URI does not exist, an empty string will be returned. Use XMLToken.hasAttr() to test for attribute existence.
- 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.
def libsbml.XMLNode.getChild |
( |
|
self, |
|
|
|
args |
|
) |
| |
Python method signature(s):
getChild(XMLNode self, long n)
XMLNode
getChild(XMLNode self, long n)
XMLNode
getChild(XMLNode self, string name)
XMLNode
getChild(XMLNode self, string name)
XMLNode
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: getChild(long n)
Returns the n
th child of this XMLNode.
If the index n
is greater than the number of child nodes, this method returns an empty node.
- Parameters
-
n | a long integereger, the index of the node to return |
- Returns
- the
n
th child of this XMLNode.
Method variant with the following signature: getChild(string name)
Returns the first child of this XMLNode with the corresponding name.
If no child with corrsponding name can be found, this method returns an empty node.
- Parameters
-
name | the name of the node to return |
- Returns
- the first child of this XMLNode with given name.
def libsbml.XMLToken.getNamespacePrefix |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
getNamespacePrefix(XMLToken self, int index)
string
getNamespacePrefix(XMLToken self, string uri)
string
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: getNamespacePrefix(int index)
Look up the prefix of an XML namespace declaration by position.
Callers should use getNamespacesLength() to find out how many namespaces are stored in the XMLNamespaces.
- Parameters
-
index | an integer, position of the required prefix. |
- Returns
- the prefix of an XML namespace declaration in the XMLNamespaces (by position).
- Note
- If index is out of range, an empty string will be returned.
- See also
- getNamespacesLength()
Method variant with the following signature: getNamespacePrefix(string uri)
Look up the prefix of an XML namespace declaration by its URI.
- Parameters
-
uri | a string, the URI of the prefix being sought |
- Returns
- the prefix of an XML namespace declaration given its URI.
- Note
- If
uri
does not exist, an empty string will be returned.
def libsbml.XMLToken.getNamespaceURI |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
getNamespaceURI(XMLToken self, int index)
string
getNamespaceURI(XMLToken self, string prefix="")
string
getNamespaceURI(XMLToken self)
string
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: getNamespaceURI(int index)
Look up the URI of an XML namespace declaration by its position.
- Parameters
-
index | an integer, position of the required URI. |
- Returns
- the URI of an XML namespace declaration in the XMLNamespaces (by position).
- Note
- If
index
is out of range, an empty string will be returned.
- See also
- getNamespacesLength()
Method variant with the following signature: getNamespaceURI(string prefix = '')
Look up the URI of an XML namespace declaration by its prefix.
- Parameters
-
prefix | a string, the prefix of the required URI |
- Returns
- the URI of an XML namespace declaration given its prefix.
- Note
- If
prefix
does not exist, an empty string will be returned.
- 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.
def libsbml.XMLToken.hasAttr |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
hasAttr(XMLToken self, int index)
bool
hasAttr(XMLToken self, string name, string uri="")
bool
hasAttr(XMLToken self, string name)
bool
hasAttr(XMLToken self, XMLTriple triple)
bool
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: hasAttr(XMLTriple triple)
Predicate returning True
or False
depending on whether an attribute with the given XML triple exists in the attribute set in this XMLToken
- Parameters
-
triple | an XMLTriple, the XML triple of the attribute |
- Returns
True
if an attribute with the given XML triple exists in the attribute set in this XMLToken, False
otherwise.
Method variant with the following signature: hasAttr(int index)
Predicate returning True
or False
depending on whether an attribute with the given index exists in the attribute set in this XMLToken.
- Parameters
-
index | an integer, the position of the attribute. |
- Returns
True
if an attribute with the given index exists in the attribute set in this XMLToken, False
otherwise.
Method variant with the following signature: hasAttr(string name, string uri='')
Predicate returning True
or False
depending on whether an attribute with the given local name and namespace URI exists in the attribute set in this XMLToken.
- Parameters
-
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
- Returns
True
if an attribute with the given local name and namespace URI exists in the attribute set in this XMLToken, False
otherwise.
- 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.
def libsbml.XMLNode.insertChild |
( |
|
self, |
|
|
|
args |
|
) |
| |
Python method signature(s):
insertChild(XMLNode self, long n, XMLNode node)
XMLNode
Inserts a copy of the given node as the n
th child of this XMLNode.
If the given index n
is out of range for this XMLNode instance, the node
is added at the end of the list of children. Even in that situation, this method does not throw an error.
- Parameters
-
n | an integer, the index at which the given node is inserted |
node | an XMLNode to be inserted as n th child. |
- Returns
- a reference to the newly-inserted child
node
def libsbml.XMLToken.removeAttr |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
removeAttr(XMLToken self, int n)
int
removeAttr(XMLToken self, string name, string uri="")
int
removeAttr(XMLToken self, string name)
int
removeAttr(XMLToken self, XMLTriple triple)
int
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: removeAttr(XMLTriple triple)
Removes an attribute with the given XMLTriple from the attribute set in this XMLToken. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
triple | an XMLTriple, the XML triple of the attribute. |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
Method variant with the following signature: removeAttr(int n)
Removes an attribute with the given index from the attribute set in this XMLToken. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
n | an integer the index of the resource to be deleted |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
Method variant with the following signature: removeAttr(string name, string uri = '')
Removes an attribute with the given local name and namespace URI from the attribute set in this XMLToken. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
def libsbml.XMLNode.removeChild |
( |
|
self, |
|
|
|
args |
|
) |
| |
Python method signature(s):
removeChild(XMLNode self, long n)
XMLNode
Removes the n
th child of this XMLNode and returns the removed node.
It is important to keep in mind that a given XMLNode may have more than one child. Calling this method erases all existing references to child nodes after the given position n
. If the index n
is greater than the number of child nodes in this XMLNode, this method takes no action (and returns None
).
- Parameters
-
n | an integer, the index of the node to be removed |
- Returns
- the removed child, or
None
if n
is greater than the number of children in this node
- Note
- The caller owns the returned node and is responsible for deleting it.
def libsbml.XMLToken.removeNamespace |
( |
|
self, |
|
|
|
args |
|
) |
| |
|
inherited |
Python method signature(s):
removeNamespace(XMLToken self, int index)
int
removeNamespace(XMLToken self, string prefix)
int
This method has multiple variants that differ in the arguments they accept. Each is described separately below.
Method variant with the following signature: removeNamespace(int index)
Removes an XML Namespace stored in the given position of the XMLNamespaces of this XMLToken. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
index | an integer, position of the removed namespace. |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are:
Method variant with the following signature: removeNamespace(string prefix)
Removes an XML Namespace with the given prefix. Nothing will be done if this XMLToken is not a start element.
- Parameters
-
prefix | a string, prefix of the required namespace. |
- Returns
- integer value indicating success/failure of the function. The possible values returned by this function are: