libSBML Python API
5.8.0
|
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().
LibSBML provides the following utility functions for converting an XML string (e.g., <annotation>...</annotation>
) to/from an XMLNode object.
XMLNode.toXMLString() returns a string representation of the XMLNode object.
XMLNode.convertXMLNodeToString() (static function) returns a string representation of the given 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., "<p>...</p><p>...</p>
"). 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.
|
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.
triple | an XMLTriple, the XML triple of the attribute. |
value | a string, the value of the attribute. |
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.
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 |
def libsbml.XMLNode.addChild | ( | self, | |
args | |||
) |
Python method signature(s):
addChild(XMLNode self, XMLNode node)int
Adds a copy of node
as a child of this XMLNode.
The given node
is added at the end of the list of children.
node | the XMLNode to be added as child. |
|
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.
uri | a string, the uri for the namespace |
prefix | a string, the prefix for the namespace |
|
inherited |
Python method signature(s):
append(XMLToken self, string chars)int
Appends characters to this XML text content.
chars | string, characters to append |
|
inherited |
|
inherited |
Python method signature(s):
clearNamespaces(XMLToken self)int
Clears (deletes) all XML namespace declarations in the XMLNamespaces of this XMLToken. Nothing will be done if this XMLToken is not a start element.
def libsbml.XMLNode.clone | ( | self | ) |
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().
LibSBML provides the following utility functions for converting an XML string (e.g., <annotation>...</annotation>
) to/from an XMLNode object.
XMLNode.toXMLString() returns a string representation of the XMLNode object.
XMLNode.convertXMLNodeToString() (static function) returns a string representation of the given 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., "<p>...</p><p>...</p>
"). 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.
def libsbml.XMLNode.convertStringToXMLNode | ( | args | ) |
Python method signature(s):
convertStringToXMLNode(string xmlstr, XMLNamespaces xmlns=None)XMLNode convertStringToXMLNode(string xmlstr)
XMLNode
Returns an XMLNode which is derived from a string containing XML content.
The XML namespace must be defined using argument xmlns
if the corresponding XML namespace attribute is not part of the string of the first argument.
xmlstr | string to be converted to a XML node. |
xmlns | XMLNamespaces the namespaces to set (default value is None ). |
<html>
, <body>
, <annotation>
, or <notes>
. 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.xmlstr
. If the conversion failed, this method returns None
.def libsbml.XMLNode.convertXMLNodeToString | ( | args | ) |
def libsbml.XMLNode.equals | ( | self, | |
args | |||
) |
Python method signature(s):
equals(XMLNode self, XMLNode other, bool ignoreURI=False)bool equals(XMLNode self, XMLNode other)
bool
Compare this XMLNode against another XMLNode returning true if both nodes represent the same XML tree, or false otherwise.
other | another XMLNode to compare against. |
ignoreURI | whether to ignore the namespace URI when doing the comparison. |
|
inherited |
Python method signature(s):
getAttributes(XMLToken self)XMLAttributes
Returns the attributes of this element.
|
inherited |
|
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.
triple | an XMLTriple, the XML triple of the attribute for which the index is required. |
-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.
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
-1
if not present.
|
inherited |
Python method signature(s):
getAttrName(XMLToken self, int index)string
Return the local name of an attribute in the attributes set in this XMLToken (by position).
index | an integer, the position of the attribute whose local name is required. |
|
inherited |
Python method signature(s):
getAttrPrefix(XMLToken self, int index)string
Return the prefix of an attribute in the attribute set in this XMLToken (by position).
index | an integer, the position of the attribute whose prefix is required. |
|
inherited |
Python method signature(s):
getAttrPrefixedName(XMLToken self, int index)string
Return the prefixed name of an attribute in the attribute set in this XMLToken (by position).
index | an integer, the position of the attribute whose prefixed name is required. |
|
inherited |
Python method signature(s):
getAttrURI(XMLToken self, int index)string
Return the namespace URI of an attribute in the attribute set in this XMLToken (by position).
index | an integer, the position of the attribute whose namespace URI is required. |
|
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.
triple | an XMLTriple, the XML triple of the attribute whose value is required. |
Method variant with the following signature:
getAttrValue(int index)
Return the value of an attribute in the attribute set in this XMLToken (by position).
index | an integer, the position of the attribute whose value is required. |
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.
name | a string, the local name of the attribute whose value is required. |
uri | a string, the namespace URI of the attribute. |
|
inherited |
Python method signature(s):
getCharacters(XMLToken self)string
Returns the text of this element.
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, or it is 0 or less, this method returns an empty node.
n | an integer, the index of the node to return |
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.
name | the name of the node to return |
|
inherited |
def libsbml.XMLNode.getIndex | ( | self, | |
args | |||
) |
Python method signature(s):
getIndex(XMLNode self, string name)int
Return the index of the first child of this XMLNode with the given name.
name | a string, the name of the child for which the index is required. |
|
inherited |
|
inherited |
Python method signature(s):
getName(XMLToken self)string
Returns the (unqualified) name of this XML element.
|
inherited |
Python method signature(s):
getNamespaceIndex(XMLToken self, string uri)int
Look up the index of an XML namespace declaration by URI.
uri | a string, uri of the required namespace. |
-1
if not present.
|
inherited |
Python method signature(s):
getNamespaceIndexByPrefix(XMLToken self, string prefix)int
Look up the index of an XML namespace declaration by prefix.
prefix | a string, prefix of the required namespace. |
-1
if not present.
|
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.
index | an integer, position of the required prefix. |
Method variant with the following signature:
getNamespacePrefix(string uri)
Look up the prefix of an XML namespace declaration by its URI.
uri | a string, the URI of the prefix being sought |
uri
does not exist, an empty string will be returned.
|
inherited |
Python method signature(s):
getNamespaces(XMLToken self)XMLNamespaces
Returns the XML namespace declarations for this XML element.
|
inherited |
Python method signature(s):
getNamespacesLength(XMLToken self)int
Returns the number of XML namespaces stored in the XMLNamespaces of this XMLToken.
|
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.
index | an integer, position of the required URI. |
index
is out of range, an empty string will be returned.Method variant with the following signature:
getNamespaceURI(string prefix = '')
Look up the URI of an XML namespace declaration by its prefix.
prefix | a string, the prefix of the required URI |
prefix
does not exist, an empty string will be returned.def libsbml.XMLNode.getNumChildren | ( | self | ) |
|
inherited |
Python method signature(s):
getPrefix(XMLToken self)string
Returns the namespace prefix of this XML element.
|
inherited |
Python method signature(s):
getURI(XMLToken self)string
Returns the namespace URI of this XML element.
|
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
triple | an XMLTriple, the XML triple of the attribute |
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.
index | an integer, the position of the attribute. |
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.
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
True
if an attribute with the given local name and namespace URI exists in the attribute set in this XMLToken, False
otherwise.def libsbml.XMLNode.hasChild | ( | self, | |
args | |||
) |
|
inherited |
Python method signature(s):
hasNamespaceNS(XMLToken self, string uri, string prefix)bool
Predicate returning True
or False
depending on whether an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces ofthis XMLToken.
uri | a string, the uri for the namespace |
prefix | a string, the prefix for the namespace |
True
if an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces of this XMLToken, False
otherwise.
|
inherited |
Python method signature(s):
hasNamespacePrefix(XMLToken self, string prefix)bool
Predicate returning True
or False
depending on whether an XML Namespace with the given prefix is contained in the XMLNamespaces of this XMLToken.
prefix | a string, the prefix for the namespace |
True
if an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken, False
otherwise.
|
inherited |
Python method signature(s):
hasNamespaceURI(XMLToken self, string uri)bool
Predicate returning True
or False
depending on whether an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken.
uri | a string, the uri for the namespace |
True
if an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken, False
otherwise. 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.
n | an integer, the index at which the given node is inserted |
node | an XMLNode to be inserted as n th child. |
node
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Python method signature(s):
isNamespacesEmpty(XMLToken self)bool
Predicate returning True
or False
depending on whether the XMLNamespaces of this XMLToken is empty.
True
if the XMLNamespaces of this XMLToken is empty, False
otherwise.
|
inherited |
|
inherited |
|
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.
triple | an XMLTriple, the XML triple of the attribute. |
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.
n | an integer the index of the resource to be deleted |
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.
name | a string, the local name of the attribute. |
uri | a string, the namespace URI of the attribute. |
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
).
n | an integer, the index of the node to be removed |
None
if n
is greater than the number of children in this nodedef libsbml.XMLNode.removeChildren | ( | self | ) |
Python method signature(s):
removeChildren(XMLNode self)int
Removes all children from this node.
|
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.
index | an integer, position of the removed namespace. |
removeNamespace(string prefix)
Removes an XML Namespace with the given prefix. Nothing will be done if this XMLToken is not a start element.
prefix | a string, prefix of the required namespace. |
|
inherited |
Python method signature(s):
setAttributes(XMLToken self, XMLAttributes attributes)int
Sets an XMLAttributes to this XMLToken. Nothing will be done if this XMLToken is not a start element.
attributes | XMLAttributes to be set to this XMLToken. |
|
inherited |
Python method signature(s):
setEnd(XMLToken self)int
Declares this XML start element is also an end element.
|
inherited |
|
inherited |
Python method signature(s):
setNamespaces(XMLToken self, XMLNamespaces namespaces)int
Sets an XMLnamespaces to this XML element. Nothing will be done if this XMLToken is not a start element.
namespaces | XMLNamespaces to be set to this XMLToken. |
|
inherited |
Python method signature(s):
setTriple(XMLToken self, XMLTriple triple)int
Sets the XMLTripe (name, uri and prefix) of this XML element. Nothing will be done if this XML element is a text node.
triple | XMLTriple to be added to this XML element. |
|
inherited |
Python method signature(s):
toString(XMLToken self)string
Prints a string representation of the underlying token stream, for debugging purposes.
def libsbml.XMLNode.toXMLString | ( | self | ) |
|
inherited |
Python method signature(s):
unsetEnd(XMLToken self)int
Declares this XML start/end element is no longer an end element.