libSBML Perl API  libSBML 5.10.0 Perl API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
XMLNode Class Reference
Inheritance diagram for XMLNode:
[legend]

Detailed Description

{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., "<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:

Examples:
addingEvidenceCodes_2.cpp, and createExampleSBML.cpp.

Public Member Functions

int addAttr (const std::string &name, const std::string &value, const std::string &namespaceURI="", const std::string &prefix="")
 Adds an attribute to the attribute set in this XMLToken optionally with a prefix and URI defining a namespace. More...
 
int addAttr (const XMLTriple &triple, const std::string &value)
 Adds an attribute with the given XMLTriple/value pair to the attribute set in this XMLToken. More...
 
int addChild (const XMLNode &node)
 Adds a copy of node as a child of this XMLNode. More...
 
int addNamespace (const std::string &uri, const std::string &prefix="")
 Appends an XML namespace prefix and URI pair to this XMLToken. More...
 
int append (const std::string &chars)
 Appends characters to this XML text content. More...
 
int clearAttributes ()
 Clears (deletes) all attributes in this XMLToken. More...
 
int clearNamespaces ()
 Clears (deletes) all XML namespace declarations in the XMLNamespaces of this XMLToken. More...
 
XMLNodeclone () const
 Creates and returns a deep copy of this XMLNode. More...
 
bool equals (const XMLNode &other, bool ignoreURI=false) const
 Compare this XMLNode against another XMLNode returning true if both nodes represent the same XML tree, or false otherwise. More...
 
const XMLAttributesgetAttributes () const
 Returns the attributes of this element. More...
 
int getAttributesLength () const
 Return the number of attributes in the attributes set. More...
 
int getAttrIndex (const std::string &name, const std::string &uri="") const
 Return the index of an attribute with the given local name and namespace URI. More...
 
int getAttrIndex (const XMLTriple &triple) const
 Return the index of an attribute with the given XMLTriple. More...
 
std::string getAttrName (int index) const
 Return the local name of an attribute in the attributes set in this XMLToken (by position). More...
 
std::string getAttrPrefix (int index) const
 Return the prefix of an attribute in the attribute set in this XMLToken (by position). More...
 
std::string getAttrPrefixedName (int index) const
 Return the prefixed name of an attribute in the attribute set in this XMLToken (by position). More...
 
std::string getAttrURI (int index) const
 Return the namespace URI of an attribute in the attribute set in this XMLToken (by position). More...
 
std::string getAttrValue (int index) const
 Return the value of an attribute in the attribute set in this XMLToken (by position). More...
 
std::string getAttrValue (const std::string name, const std::string uri="") const
 Return a value of an attribute with the given local name and namespace URI. More...
 
std::string getAttrValue (const XMLTriple &triple) const
 Return a value of an attribute with the given XMLTriple. More...
 
const std::string & getCharacters () const
 Returns the text of this element. More...
 
XMLNodegetChild (unsigned int n)
 Returns the nth child of this XMLNode. More...
 
const XMLNodegetChild (unsigned int n) const
 Returns the nth child of this XMLNode. More...
 
XMLNodegetChild (const std::string &name)
 Returns the first child of this XMLNode with the corresponding name. More...
 
const XMLNodegetChild (const std::string &name) const
 Returns the first child of this XMLNode with the corresponding name. More...
 
unsigned int getColumn () const
 Returns the column at which this XMLToken occurred in the input document or data stream. More...
 
int getIndex (const std::string &name) const
 Return the index of the first child of this XMLNode with the given name. More...
 
unsigned int getLine () const
 Returns the line at which this XMLToken occurred in the input document or data stream. More...
 
const std::string & getName () const
 Returns the (unqualified) name of this XML element. More...
 
int getNamespaceIndex (const std::string &uri) const
 Look up the index of an XML namespace declaration by URI. More...
 
int getNamespaceIndexByPrefix (const std::string &prefix) const
 Look up the index of an XML namespace declaration by prefix. More...
 
std::string getNamespacePrefix (int index) const
 Look up the prefix of an XML namespace declaration by position. More...
 
std::string getNamespacePrefix (const std::string &uri) const
 Look up the prefix of an XML namespace declaration by its URI. More...
 
const XMLNamespacesgetNamespaces () const
 Returns the XML namespace declarations for this XML element. More...
 
int getNamespacesLength () const
 Returns the number of XML namespaces stored in the XMLNamespaces of this XMLToken. More...
 
std::string getNamespaceURI (int index) const
 Look up the URI of an XML namespace declaration by its position. More...
 
std::string getNamespaceURI (const std::string &prefix="") const
 Look up the URI of an XML namespace declaration by its prefix. More...
 
unsigned int getNumChildren () const
 Returns the number of children for this XMLNode. More...
 
const std::string & getPrefix () const
 Returns the namespace prefix of this XML element. More...
 
const std::string & getURI () const
 Returns the namespace URI of this XML element. More...
 
bool hasAttr (int index) const
 Predicate returning true or false depending on whether an attribute with the given index exists in the attribute set in this XMLToken. More...
 
bool hasAttr (const std::string name, const std::string uri="") const
 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. More...
 
bool hasAttr (const XMLTriple &triple) const
 Predicate returning true or false depending on whether an attribute with the given XML triple exists in the attribute set in this XMLToken. More...
 
bool hasChild (const std::string &name) const
 Return a boolean indicating whether this XMLNode has a child with the given name. More...
 
bool hasNamespaceNS (const std::string &uri, const std::string &prefix) const
 Predicate returning true or false depending on whether an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces ofthis XMLToken. More...
 
bool hasNamespacePrefix (const std::string &prefix) const
 Predicate returning true or false depending on whether an XML Namespace with the given prefix is contained in the XMLNamespaces of this XMLToken. More...
 
bool hasNamespaceURI (const std::string &uri) const
 Predicate returning true or false depending on whether an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken. More...
 
XMLNodeinsertChild (unsigned int n, const XMLNode &node)
 Inserts a copy of the given node as the nth child of this XMLNode. More...
 
bool isAttributesEmpty () const
 Predicate returning true or false depending on whether the attribute set in this XMLToken set is empty. More...
 
bool isElement () const
 Predicate returning true or false depending on whether this XMLToken is an XML element. More...
 
bool isEnd () const
 Predicate returning true or false depending on whether this XMLToken is an XML end element. More...
 
bool isEndFor (const XMLToken &element) const
 Predicate returning true or false depending on whether this XMLToken is an XML end element for the given start element. More...
 
bool isEOF () const
 Predicate returning true or false depending on whether this XMLToken is an end of file marker. More...
 
bool isNamespacesEmpty () const
 Predicate returning true or false depending on whether the XMLNamespaces of this XMLToken is empty. More...
 
bool isStart () const
 Predicate returning true or false depending on whether this XMLToken is an XML start element. More...
 
bool isText () const
 Predicate returning true or false depending on whether this XMLToken is an XML text element. More...
 
XMLNodeoperator= (const XMLNode &rhs)
 Assignment operator for XMLNode. More...
 
int removeAttr (int n)
 Removes an attribute with the given index from the attribute set in this XMLToken. More...
 
int removeAttr (const std::string &name, const std::string &uri="")
 Removes an attribute with the given local name and namespace URI from the attribute set in this XMLToken. More...
 
int removeAttr (const XMLTriple &triple)
 Removes an attribute with the given XMLTriple from the attribute set in this XMLToken. More...
 
XMLNoderemoveChild (unsigned int n)
 Removes the nth child of this XMLNode and returns the removed node. More...
 
int removeChildren ()
 Removes all children from this node. More...
 
int removeNamespace (int index)
 Removes an XML Namespace stored in the given position of the XMLNamespaces of this XMLToken. More...
 
int removeNamespace (const std::string &prefix)
 Removes an XML Namespace with the given prefix. More...
 
int setAttributes (const XMLAttributes &attributes)
 Sets an XMLAttributes to this XMLToken. More...
 
int setEnd ()
 Declares this XML start element is also an end element. More...
 
int setEOF ()
 Declares this XMLToken is an end-of-file (input) marker. More...
 
int setNamespaces (const XMLNamespaces &namespaces)
 Sets an XMLnamespaces to this XML element. More...
 
int setTriple (const XMLTriple &triple)
 Sets the XMLTripe (name, uri and prefix) of this XML element. More...
 
std::string toString ()
 Prints a string representation of the underlying token stream, for debugging purposes. More...
 
std::string toXMLString () const
 Returns a string representation of this XMLNode. More...
 
int unsetEnd ()
 Declares this XML start/end element is no longer an end element. More...
 
 XMLNode ()
 Creates a new empty XMLNode with no children. More...
 
 XMLNode (const XMLToken &token)
 Creates a new XMLNode by copying token. More...
 
 XMLNode (const XMLTriple &triple, const XMLAttributes &attributes, const XMLNamespaces &namespaces, const unsigned int line=0, const unsigned int column=0)
 Creates a new start element XMLNode with the given set of attributes and namespace declarations. More...
 
 XMLNode (const XMLTriple &triple, const XMLAttributes &attributes, const unsigned int line=0, const unsigned int column=0)
 Creates a start element XMLNode with the given set of attributes. More...
 
 XMLNode (const XMLTriple &triple, const unsigned int line=0, const unsigned int column=0)
 Creates an end element XMLNode. More...
 
 XMLNode (const std::string &chars, const unsigned int line=0, const unsigned int column=0)
 Creates a text XMLNode. More...
 
 XMLNode (const XMLNode &orig)
 Copy constructor; creates a copy of this XMLNode. More...
 
virtual ~XMLNode ()
 Destroys this XMLNode. More...
 

Static Public Member Functions

static XMLNodeconvertStringToXMLNode (const std::string &xmlstr, const XMLNamespaces *xmlns=NULL)
 Returns an XMLNode which is derived from a string containing XML content. More...
 
static std::string convertXMLNodeToString (const XMLNode *node)
 Returns a string representation of a given XMLNode. More...
 

Constructor & Destructor Documentation

XMLNode::XMLNode ( )

Creates a new empty XMLNode with no children.

XMLNode::XMLNode ( const XMLToken token)

Creates a new XMLNode by copying token.

Parameters
tokenXMLToken to be copied to XMLNode
XMLNode::XMLNode ( const XMLTriple triple,
const XMLAttributes attributes,
const XMLNamespaces namespaces,
const unsigned int  line = 0,
const unsigned int  column = 0 
)

Creates a new start element XMLNode with the given set of attributes and namespace declarations.

Parameters
tripleXMLTriple.
attributesXMLAttributes, the attributes to set.
namespacesXMLNamespaces, the namespaces to set.
linean unsigned int, the line number (default = 0).
columnan unsigned int, the column number (default = 0).
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.
XMLNode::XMLNode ( const XMLTriple triple,
const XMLAttributes attributes,
const unsigned int  line = 0,
const unsigned int  column = 0 
)

Creates a start element XMLNode with the given set of attributes.

Parameters
tripleXMLTriple.
attributesXMLAttributes, the attributes to set.
linean unsigned int, the line number (default = 0).
columnan unsigned int, the column number (default = 0).
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.
XMLNode::XMLNode ( const XMLTriple triple,
const unsigned int  line = 0,
const unsigned int  column = 0 
)

Creates an end element XMLNode.

Parameters
tripleXMLTriple.
linean unsigned int, the line number (default = 0).
columnan unsigned int, the column number (default = 0).
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.
XMLNode::XMLNode ( const std::string &  chars,
const unsigned int  line = 0,
const unsigned int  column = 0 
)

Creates a text XMLNode.

Parameters
charsa string, the text to be added to the XMLToken
linean unsigned int, the line number (default = 0).
columnan unsigned int, the column number (default = 0).
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.
XMLNode::~XMLNode ( )
virtual

Destroys this XMLNode.

XMLNode::XMLNode ( const XMLNode orig)

Copy constructor; creates a copy of this XMLNode.

Parameters
origthe XMLNode instance to copy.
Exceptions
XMLConstructorExceptionThrown if the argument orig is NULL.

Member Function Documentation

int XMLToken::addAttr ( const std::string &  name,
const std::string &  value,
const std::string &  namespaceURI = "",
const std::string &  prefix = "" 
)
inherited

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
namea string, the local name of the attribute.
valuea string, the value of the attribute.
namespaceURIa string, the namespace URI of the attribute.
prefixa 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.
int XMLToken::addAttr ( const XMLTriple triple,
const std::string &  value 
)
inherited

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
triplean XMLTriple, the XML triple of the attribute.
valuea string, the value of the attribute.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLNode::addChild ( const XMLNode node)

Adds a copy of node as a child of this XMLNode.

The given node is added at the end of the list of children.

Parameters
nodethe XMLNode to be added as child.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
Note
The given node is added at the end of the children list.
Examples:
addingEvidenceCodes_2.cpp.
int XMLToken::addNamespace ( const std::string &  uri,
const std::string &  prefix = "" 
)
inherited

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
uria string, the uri for the namespace
prefixa 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.
int XMLToken::append ( const std::string &  chars)
inherited

Appends characters to this XML text content.

Parameters
charsstring, characters to append
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::clearAttributes ( )
inherited

Clears (deletes) all attributes in this XMLToken.

Nothing will be done if this XMLToken is not a start element.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::clearNamespaces ( )
inherited

Clears (deletes) all XML namespace declarations in the XMLNamespaces of this XMLToken.

Nothing will be done if this XMLToken is not a start element.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
XMLNode * XMLNode::clone ( ) const

Creates and returns a deep copy of this XMLNode.

Returns
a (deep) copy of this XMLNode.
XMLNode * XMLNode::convertStringToXMLNode ( const std::string &  xmlstr,
const XMLNamespaces xmlns = NULL 
)
static

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.

Parameters
xmlstrstring to be converted to a XML node.
xmlnsXMLNamespaces the namespaces to set (default value is NULL).
Note
The caller owns the returned XMLNode and is reponsible for deleting it. The returned XMLNode object is a dummy root (container) XMLNode if the top-level element in the given XML string is NOT <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.
Returns
a XMLNode which is converted from string xmlstr. If the conversion failed, this method returns NULL.
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.
std::string XMLNode::convertXMLNodeToString ( const XMLNode node)
static

Returns a string representation of a given XMLNode.

Parameters
nodethe XMLNode to be represented as a string
Returns
a string-form representation of node
bool XMLNode::equals ( const XMLNode other,
bool  ignoreURI = false 
) const

Compare this XMLNode against another XMLNode returning true if both nodes represent the same XML tree, or false otherwise.

Parameters
otheranother XMLNode to compare against.
ignoreURIwhether to ignore the namespace URI when doing the comparison.
Returns
boolean indicating whether this XMLNode represents the same XML tree as another.
Parameters
otheranother XMLNode to compare against
Returns
boolean indicating whether this XMLNode represents the same XML tree as another.
const XMLAttributes & XMLToken::getAttributes ( ) const
inherited

Returns the attributes of this element.

Returns
the XMLAttributes of this XML element.
int XMLToken::getAttributesLength ( ) const
inherited

Return the number of attributes in the attributes set.

Returns
the number of attributes in the attributes set in this XMLToken.
int XMLToken::getAttrIndex ( const std::string &  name,
const std::string &  uri = "" 
) const
inherited

Return the index of an attribute with the given local name and namespace URI.

Parameters
namea string, the local name of the attribute.
uria 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.
int XMLToken::getAttrIndex ( const XMLTriple triple) const
inherited

Return the index of an attribute with the given XMLTriple.

Parameters
triplean 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.
std::string XMLToken::getAttrName ( int  index) const
inherited

Return the local name of an attribute in the attributes set in this XMLToken (by position).

Parameters
indexan integer, the position of the attribute whose local name is required.
Returns
the local name of an attribute in this list (by position).
Note
If index is out of range, an empty string will be returned. Use XMLToken::hasAttr() to test for the attribute existence.
std::string XMLToken::getAttrPrefix ( int  index) const
inherited

Return the prefix of an attribute in the attribute set in this XMLToken (by position).

Parameters
indexan integer, the position of the attribute whose prefix is required.
Returns
the namespace prefix 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 the attribute existence.
std::string XMLToken::getAttrPrefixedName ( int  index) const
inherited

Return the prefixed name of an attribute in the attribute set in this XMLToken (by position).

Parameters
indexan integer, the position of the attribute whose prefixed name is required.
Returns
the prefixed name 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.
std::string XMLToken::getAttrURI ( int  index) const
inherited

Return the namespace URI of an attribute in the attribute set in this XMLToken (by position).

Parameters
indexan integer, the position of the attribute whose namespace URI is required.
Returns
the namespace URI 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.
std::string XMLToken::getAttrValue ( int  index) const
inherited

Return the value of an attribute in the attribute set in this XMLToken (by position).

Parameters
indexan 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.
std::string XMLToken::getAttrValue ( const std::string  name,
const std::string  uri = "" 
) const
inherited

Return a value of an attribute with the given local name and namespace URI.

Parameters
namea string, the local name of the attribute whose value is required.
uria 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.
std::string XMLToken::getAttrValue ( const XMLTriple triple) const
inherited

Return a value of an attribute with the given XMLTriple.

Parameters
triplean 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.
const string & XMLToken::getCharacters ( ) const
inherited

Returns the text of this element.

Returns
the characters of this XML text.
XMLNode & XMLNode::getChild ( unsigned int  n)

Returns the nth child of this XMLNode.

If the index n is greater than the number of child nodes, this method returns an empty node.

Parameters
nan unsigned integer, the index of the node to return
Returns
the nth child of this XMLNode.
const XMLNode & XMLNode::getChild ( unsigned int  n) const

Returns the nth child of this XMLNode.

If the index n is greater than the number of child nodes, this method returns an empty node.

Parameters
nan unsigned integer, the index of the node to return
Returns
the nth child of this XMLNode.
XMLNode & XMLNode::getChild ( const std::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
namethe name of the node to return
Returns
the first child of this XMLNode with given name.
const XMLNode & XMLNode::getChild ( const std::string &  name) const

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
namethe name of the node to return
Returns
the first child of this XMLNode with given name.
unsigned int XMLToken::getColumn ( ) const
inherited

Returns the column at which this XMLToken occurred in the input document or data stream.

Returns
the column at which this XMLToken occurred.
int XMLNode::getIndex ( const std::string &  name) const

Return the index of the first child of this XMLNode with the given name.

Parameters
namea string, the name of the child for which the index is required.
Returns
the index of the first child of this XMLNode with the given name, or -1 if not present.
unsigned int XMLToken::getLine ( ) const
inherited

Returns the line at which this XMLToken occurred in the input document or data stream.

Returns
the line at which this XMLToken occurred.
const string & XMLToken::getName ( ) const
inherited

Returns the (unqualified) name of this XML element.

Returns
the (unqualified) name of this XML element.
int XMLToken::getNamespaceIndex ( const std::string &  uri) const
inherited

Look up the index of an XML namespace declaration by URI.

Parameters
uria string, uri of the required namespace.
Returns
the index of the given declaration, or -1 if not present.
int XMLToken::getNamespaceIndexByPrefix ( const std::string &  prefix) const
inherited

Look up the index of an XML namespace declaration by prefix.

Parameters
prefixa string, prefix of the required namespace.
Returns
the index of the given declaration, or -1 if not present.
std::string XMLToken::getNamespacePrefix ( int  index) const
inherited

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
indexan 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()
std::string XMLToken::getNamespacePrefix ( const std::string &  uri) const
inherited

Look up the prefix of an XML namespace declaration by its URI.

Parameters
uria 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.
const XMLNamespaces & XMLToken::getNamespaces ( ) const
inherited

Returns the XML namespace declarations for this XML element.

Returns
the XML namespace declarations for this XML element.
int XMLToken::getNamespacesLength ( ) const
inherited

Returns the number of XML namespaces stored in the XMLNamespaces of this XMLToken.

Returns
the number of namespaces in this list.
std::string XMLToken::getNamespaceURI ( int  index) const
inherited

Look up the URI of an XML namespace declaration by its position.

Parameters
indexan 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()
std::string XMLToken::getNamespaceURI ( const std::string &  prefix = "") const
inherited

Look up the URI of an XML namespace declaration by its prefix.

Parameters
prefixa 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.
unsigned int XMLNode::getNumChildren ( ) const

Returns the number of children for this XMLNode.

Returns
the number of children for this XMLNode.
const string & XMLToken::getPrefix ( ) const
inherited

Returns the namespace prefix of this XML element.

Returns
the namespace prefix of this XML element.
Note
If no prefix exists, an empty string will be return.
const string & XMLToken::getURI ( ) const
inherited

Returns the namespace URI of this XML element.

Returns
the namespace URI of this XML element.
bool XMLToken::hasAttr ( int  index) const
inherited

Predicate returning true or false depending on whether an attribute with the given index exists in the attribute set in this XMLToken.

Parameters
indexan 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.
bool XMLToken::hasAttr ( const std::string  name,
const std::string  uri = "" 
) const
inherited

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
namea string, the local name of the attribute.
uria 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.
bool XMLToken::hasAttr ( const XMLTriple triple) const
inherited

Predicate returning true or false depending on whether an attribute with the given XML triple exists in the attribute set in this XMLToken.

Parameters
triplean 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.
bool XMLNode::hasChild ( const std::string &  name) const

Return a boolean indicating whether this XMLNode has a child with the given name.

Parameters
namea string, the name of the child to be checked.
Returns
boolean indicating whether this XMLNode has a child with the given name.
bool XMLToken::hasNamespaceNS ( const std::string &  uri,
const std::string &  prefix 
) const
inherited

Predicate returning true or false depending on whether an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces ofthis XMLToken.

Parameters
uria string, the uri for the namespace
prefixa string, the prefix for the namespace
Returns
true if an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces of this XMLToken, false otherwise.
bool XMLToken::hasNamespacePrefix ( const std::string &  prefix) const
inherited

Predicate returning true or false depending on whether an XML Namespace with the given prefix is contained in the XMLNamespaces of this XMLToken.

Parameters
prefixa string, the prefix for the namespace
Returns
true if an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken, false otherwise.
bool XMLToken::hasNamespaceURI ( const std::string &  uri) const
inherited

Predicate returning true or false depending on whether an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken.

Parameters
uria string, the uri for the namespace
Returns
true if an XML Namespace with the given URI is contained in the XMLNamespaces of this XMLToken, false otherwise.
XMLNode & XMLNode::insertChild ( unsigned int  n,
const XMLNode node 
)

Inserts a copy of the given node as the nth 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
nan integer, the index at which the given node is inserted
nodean XMLNode to be inserted as nth child.
Returns
a reference to the newly-inserted child node
bool XMLToken::isAttributesEmpty ( ) const
inherited

Predicate returning true or false depending on whether the attribute set in this XMLToken set is empty.

Returns
true if the attribute set in this XMLToken is empty, false otherwise.
bool XMLToken::isElement ( ) const
inherited

Predicate returning true or false depending on whether this XMLToken is an XML element.

Returns
true if this XMLToken is an XML element, false otherwise.
bool XMLToken::isEnd ( ) const
inherited

Predicate returning true or false depending on whether this XMLToken is an XML end element.

Returns
true if this XMLToken is an XML end element, false otherwise.
bool XMLToken::isEndFor ( const XMLToken element) const
inherited

Predicate returning true or false depending on whether this XMLToken is an XML end element for the given start element.

Parameters
elementXMLToken, element for which query is made.
Returns
true if this XMLToken is an XML end element for the given XMLToken start element, false otherwise.
bool XMLToken::isEOF ( ) const
inherited

Predicate returning true or false depending on whether this XMLToken is an end of file marker.

Returns
true if this XMLToken is an end of file (input) marker, false otherwise.
bool XMLToken::isNamespacesEmpty ( ) const
inherited

Predicate returning true or false depending on whether the XMLNamespaces of this XMLToken is empty.

Returns
true if the XMLNamespaces of this XMLToken is empty, false otherwise.
bool XMLToken::isStart ( ) const
inherited

Predicate returning true or false depending on whether this XMLToken is an XML start element.

Returns
true if this XMLToken is an XML start element, false otherwise.
bool XMLToken::isText ( ) const
inherited

Predicate returning true or false depending on whether this XMLToken is an XML text element.

Returns
true if this XMLToken is an XML text element, false otherwise.
XMLNode & XMLNode::operator= ( const XMLNode rhs)

Assignment operator for XMLNode.

Parameters
rhsThe XMLNode object whose values are used as the basis of the assignment.
Exceptions
XMLConstructorExceptionThrown if the argument rhs is NULL.
int XMLToken::removeAttr ( int  n)
inherited

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
nan 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:
int XMLToken::removeAttr ( const std::string &  name,
const std::string &  uri = "" 
)
inherited

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
namea string, the local name of the attribute.
uria string, the namespace URI of the attribute.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::removeAttr ( const XMLTriple triple)
inherited

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
triplean XMLTriple, the XML triple of the attribute.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
XMLNode * XMLNode::removeChild ( unsigned int  n)

Removes the nth 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 NULL).

Parameters
nan integer, the index of the node to be removed
Returns
the removed child, or NULL 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.
int XMLNode::removeChildren ( )

Removes all children from this node.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::removeNamespace ( int  index)
inherited

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
indexan integer, position of the removed namespace.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::removeNamespace ( const std::string &  prefix)
inherited

Removes an XML Namespace with the given prefix.

Nothing will be done if this XMLToken is not a start element.

Parameters
prefixa string, prefix of the required namespace.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::setAttributes ( const XMLAttributes attributes)
inherited

Sets an XMLAttributes to this XMLToken.

Nothing will be done if this XMLToken is not a start element.

Parameters
attributesXMLAttributes to be set to this XMLToken.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
Note
This function replaces the existing XMLAttributes with the new one.
int XMLToken::setEnd ( )
inherited

Declares this XML start element is also an end element.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
Examples:
addingEvidenceCodes_2.cpp.
int XMLToken::setEOF ( )
inherited

Declares this XMLToken is an end-of-file (input) marker.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
int XMLToken::setNamespaces ( const XMLNamespaces namespaces)
inherited

Sets an XMLnamespaces to this XML element.

Nothing will be done if this XMLToken is not a start element.

Parameters
namespacesXMLNamespaces to be set to this XMLToken.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
Note
This function replaces the existing XMLNamespaces with the new one.
int XMLToken::setTriple ( const XMLTriple triple)
inherited

Sets the XMLTripe (name, uri and prefix) of this XML element.

Nothing will be done if this XML element is a text node.

Parameters
tripleXMLTriple to be added to this XML element.
Returns
integer value indicating success/failure of the function. The possible values returned by this function are:
string XMLToken::toString ( )
inherited

Prints a string representation of the underlying token stream, for debugging purposes.

std::string XMLNode::toXMLString ( ) const

Returns a string representation of this XMLNode.

Returns
a string derived from this XMLNode.
int XMLToken::unsetEnd ( )
inherited

Declares this XML start/end element is no longer an end element.

Returns
integer value indicating success/failure of the function. The possible values returned by this function are: