|
libSBML C API
5.18.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_t.
An XMLNode_t can contain any number of children. Each child is another XMLNode_t, thereby forming a tree. The methods XMLNode_t::getNumChildren() and XMLNode_t::getChild() can be used to access the tree structure starting from a given node.
Each XMLNode_t is subclassed from XMLToken_t, and thus has the same methods available as XMLToken_t. These methods include XMLToken_t::getNamespaces(), XMLToken_t::getPrefix(), XMLToken_t::getName(), XMLToken_t::getURI(), and XMLToken_t::getAttributes().
LibSBML provides the following utility functions for converting an XML string (e.g., <annotation>...</annotation>) to/from an XMLNode_t object.
The returned XMLNode_t object by XMLNode_t::convertStringToXMLNode() is a dummy root (container) XMLNode_t 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_t. XMLToken_t::isEOF() can be used to identify if the returned XMLNode_t object is a dummy node or not. Here is an example:
Public Member Functions | |
| LIBLAX_EXTERN int | XMLNode_addAttr (XMLNode_t *node, const char *name, const char *value) |
| Adds an attribute with the given local name to the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_addAttrWithNS (XMLNode_t *node, const char *name, const char *value, const char *namespaceURI, const char *prefix) |
| Adds an attribute with a prefix and namespace URI to the attribute set in this XMLNode_t optionally Nothing will be done if this XMLNode_t is not a start element. More... | |
| LIBLAX_EXTERN int | XMLNode_addAttrWithTriple (XMLNode_t *node, const XMLTriple_t *triple, const char *value) |
| Adds an attribute with the given XMLTriple_t/value pair to the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_addChild (XMLNode_t *node, const XMLNode_t *child) |
| Adds a copy of child node to this XMLNode_t structure. More... | |
| LIBLAX_EXTERN int | XMLNode_addNamespace (XMLNode_t *node, const char *uri, const char *prefix) |
| Appends an XML namespace prefix and URI pair to this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_clearAttributes (XMLNode_t *node) |
| Clears (deletes) all attributes in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_clearNamespaces (XMLNode_t *node) |
| Clears (deletes) all XML namespace declarations in the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_clone (const XMLNode_t *n) |
| Creates a deep copy of the given XMLNode_t structure. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_convertStringToXMLNode (const char *xml, const XMLNamespaces_t *xmlns) |
| Returns an XMLNode_t pointer which is converted from a given string containing XML content. More... | |
| LIBLAX_EXTERN const char * | XMLNode_convertXMLNodeToString (const XMLNode_t *node) |
| Returns a string which is converted from a given XMLNode_t. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_create (void) |
| Creates a new empty XMLNode_t structure with no children and returns a pointer to it. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_createEndElement (const XMLTriple_t *triple) |
| Creates a new end element XMLNode_t structure with XMLTriple_t structure set and returns a pointer to it. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_createFromToken (const XMLToken_t *token) |
| Creates a new XMLNode_t structure by copying token and returns a pointer to it. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_createStartElement (const XMLTriple_t *triple, const XMLAttributes_t *attr) |
| Creates a new start element XMLNode_t structure with XMLTriple_t and XMLAttributes_t structures set and returns a pointer to it. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_createStartElementNS (const XMLTriple_t *triple, const XMLAttributes_t *attr, const XMLNamespaces_t *ns) |
| Creates a new start element XMLNode_t structure with XMLTriple_t, XMLAttributes_t and XMLNamespaces_t structures set and returns a pointer to it. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_createTextNode (const char *text) |
| Creates a text XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_equals (const XMLNode_t *node, const XMLNode_t *other) |
Compare one XMLNode_t against another XMLNode_t returning 1 (true) if both nodes represent the same XML tree, or 0 (false) otherwise. More... | |
| LIBLAX_EXTERN void | XMLNode_free (XMLNode_t *node) |
| Destroys this XMLNode_t structure. More... | |
| LIBLAX_EXTERN const XMLAttributes_t * | XMLNode_getAttributes (const XMLNode_t *node) |
| Returns the attributes of this element. More... | |
| LIBLAX_EXTERN int | XMLNode_getAttributesLength (const XMLNode_t *node) |
| Return the number of attributes in the attributes set. More... | |
| LIBLAX_EXTERN int | XMLNode_getAttrIndex (const XMLNode_t *node, const char *name, const char *uri) |
| Return the index of an attribute with the given local name and namespace URI. More... | |
| LIBLAX_EXTERN int | XMLNode_getAttrIndexByTriple (const XMLNode_t *node, const XMLTriple_t *triple) |
| Return the index of an attribute with the given XMLTriple_t. More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrName (const XMLNode_t *node, int index) |
| Return the local name of an attribute in the attributes set in this XMLNode_t (by position). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrPrefix (const XMLNode_t *node, int index) |
| Return the prefix of an attribute in the attribute set in this XMLNode_t (by position). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrPrefixedName (const XMLNode_t *node, int index) |
| Return the prefixed name of an attribute in the attribute set in this XMLNode_t (by position). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrURI (const XMLNode_t *node, int index) |
| Return the namespace URI of an attribute in the attribute set in this XMLNode_t (by position). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrValue (const XMLNode_t *node, int index) |
| Return the value of an attribute in the attribute set in this XMLNode_t (by position). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrValueByName (const XMLNode_t *node, const char *name) |
| Return a value of an attribute with the given local name (without namespace URI). More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrValueByNS (const XMLNode_t *node, const char *name, const char *uri) |
| Return a value of an attribute with the given local name and namespace URI. More... | |
| LIBLAX_EXTERN char * | XMLNode_getAttrValueByTriple (const XMLNode_t *node, const XMLTriple_t *triple) |
| Return a value of an attribute with the given XMLTriple_t. More... | |
| LIBLAX_EXTERN const char * | XMLNode_getCharacters (const XMLNode_t *node) |
| Returns the text of this element. More... | |
| LIBLAX_EXTERN const XMLNode_t * | XMLNode_getChild (const XMLNode_t *node, const int n) |
| Returns the nth child of this XMLNode_t structure. More... | |
| LIBLAX_EXTERN const XMLNode_t * | XMLNode_getChildForName (const XMLNode_t *node, const char *name) |
| Returns the first child of the XMLNode_t structure node with the given name. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_getChildForNameNC (XMLNode_t *node, const char *name) |
| Returns the (non-const) the first child of the XMLNode_t structure node with the given name. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_getChildNC (XMLNode_t *node, const unsigned int n) |
| Returns the (non-const) nth child of this XMLNode_t structure. More... | |
| LIBLAX_EXTERN int | XMLNode_getIndex (const XMLNode_t *node, const char *name) |
| Return the index of the first child of the XMLNode_t structure node with the given name. More... | |
| LIBLAX_EXTERN const char * | XMLNode_getName (const XMLNode_t *node) |
| Returns the (unqualified) name of this XML element. More... | |
| LIBLAX_EXTERN int | XMLNode_getNamespaceIndex (const XMLNode_t *node, const char *uri) |
| Look up the index of an XML namespace declaration by URI. More... | |
| LIBLAX_EXTERN int | XMLNode_getNamespaceIndexByPrefix (const XMLNode_t *node, const char *prefix) |
Look up the index of an XML namespace declaration by prefix. More... | |
| LIBLAX_EXTERN char * | XMLNode_getNamespacePrefix (const XMLNode_t *node, int index) |
| Look up the prefix of an XML namespace declaration by position. More... | |
| LIBLAX_EXTERN char * | XMLNode_getNamespacePrefixByURI (const XMLNode_t *node, const char *uri) |
| Look up the prefix of an XML namespace declaration by its URI. More... | |
| LIBLAX_EXTERN const XMLNamespaces_t * | XMLNode_getNamespaces (const XMLNode_t *node) |
| Returns the XML namespace declarations for this XML element. More... | |
| LIBLAX_EXTERN int | XMLNode_getNamespacesLength (const XMLNode_t *node) |
| Returns the number of XML namespaces stored in the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN char * | XMLNode_getNamespaceURI (const XMLNode_t *node, int index) |
| Look up the URI of an XML namespace declaration by its position. More... | |
| LIBLAX_EXTERN char * | XMLNode_getNamespaceURIByPrefix (const XMLNode_t *node, const char *prefix) |
| Look up the URI of an XML namespace declaration by its prefix. More... | |
| LIBLAX_EXTERN unsigned int | XMLNode_getNumChildren (const XMLNode_t *node) |
| Returns the number of children for this XMLNode_t structure. More... | |
| LIBLAX_EXTERN const char * | XMLNode_getPrefix (const XMLNode_t *node) |
| Returns the namespace prefix of this XML element. More... | |
| LIBLAX_EXTERN const char * | XMLNode_getURI (const XMLNode_t *node) |
| Returns the namespace URI of this XML element. More... | |
| LIBLAX_EXTERN int | XMLNode_hasAttr (const XMLNode_t *node, int index) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given index exists in the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasAttrWithName (const XMLNode_t *node, const char *name) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given local name (without namespace URI) exists in the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasAttrWithNS (const XMLNode_t *node, const char *name, const char *uri) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given local name and namespace URI exists in the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasAttrWithTriple (const XMLNode_t *node, const XMLTriple_t *triple) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given XML triple exists in the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasChild (const XMLNode_t *node, const char *name) |
\* Return 1 (true) or 0 (false) indicating whether node has a child with the given name. More... | |
| LIBLAX_EXTERN int | XMLNode_hasNamespaceNS (const XMLNode_t *node, const char *uri, const char *prefix) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasNamespacePrefix (const XMLNode_t *node, const char *prefix) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given prefix is contained in the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_hasNamespaceURI (const XMLNode_t *node, const char *uri) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given URI is contained in the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_insertChild (XMLNode_t *node, unsigned int n, const XMLNode_t *child) |
| Inserts a copy of child node to this XMLNode_t structure. More... | |
| LIBLAX_EXTERN int | XMLNode_isAttributesEmpty (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether the attribute set in this XMLNode_t set is empty. More... | |
| LIBLAX_EXTERN int | XMLNode_isElement (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an XML element. More... | |
| LIBLAX_EXTERN int | XMLNode_isEnd (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an XML end element. More... | |
| LIBLAX_EXTERN int | XMLNode_isEndFor (const XMLNode_t *node, const XMLNode_t *element) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an XML end element for the given start element. More... | |
| LIBLAX_EXTERN int | XMLNode_isEOF (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an end of file marker. More... | |
| LIBLAX_EXTERN int | XMLNode_isNamespacesEmpty (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether the XMLNamespaces_t of this XMLNode_t is empty. More... | |
| LIBLAX_EXTERN int | XMLNode_isStart (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an XML start element. More... | |
| LIBLAX_EXTERN int | XMLNode_isText (const XMLNode_t *node) |
Predicate returning 1 (true) or 0 (false) depending on whether this XMLNode_t structure is an XML text element. More... | |
| LIBLAX_EXTERN int | XMLNode_removeAttr (XMLNode_t *node, int n) |
| Removes an attribute with the given index from the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_removeAttrByName (XMLNode_t *node, const char *name) |
| Removes an attribute with the given local name (without namespace URI) from the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_removeAttrByNS (XMLNode_t *node, const char *name, const char *uri) |
| Removes an attribute with the given local name and namespace URI from the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_removeAttrByTriple (XMLNode_t *node, const XMLTriple_t *triple) |
| Removes an attribute with the given XMLTriple_t from the attribute set in this XMLNode_t. More... | |
| LIBLAX_EXTERN XMLNode_t * | XMLNode_removeChild (XMLNode_t *node, unsigned int n) |
| Removes the nth child of this XMLNode_t and returned the removed node. More... | |
| LIBLAX_EXTERN int | XMLNode_removeChildren (XMLNode_t *node) |
| Removes all children from this node. More... | |
| LIBLAX_EXTERN int | XMLNode_removeNamespace (XMLNode_t *node, int index) |
| Removes an XML Namespace stored in the given position of the XMLNamespaces_t of this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_removeNamespaceByPrefix (XMLNode_t *node, const char *prefix) |
| Removes an XML Namespace with the given prefix. More... | |
| LIBLAX_EXTERN int | XMLNode_setAttributes (XMLNode_t *node, const XMLAttributes_t *attributes) |
| Sets an XMLAttributes_t to this XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_setEnd (XMLNode_t *node) |
| Declares this XML start element is also an end element. More... | |
| LIBLAX_EXTERN int | XMLNode_setEOF (XMLNode_t *node) |
| Declares this XMLNode_t structure is an end-of-file (input) marker. More... | |
| LIBLAX_EXTERN int | XMLNode_setNamespaces (XMLNode_t *node, const XMLNamespaces_t *namespaces) |
| Sets an XMLnamespaces_t to this XML element. More... | |
| LIBLAX_EXTERN int | XMLNode_setTriple (XMLNode_t *node, const XMLTriple_t *triple) |
| Sets the XMLTripe_t (name, uri and prefix) of this XML element. More... | |
| LIBLAX_EXTERN char * | XMLNode_toXMLString (const XMLNode_t *node) |
| Returns a string which is converted from a given XMLNode_t. More... | |
| LIBLAX_EXTERN int | XMLNode_unsetEnd (XMLNode_t *node) |
| Declares this XML start/end element is no longer an end element. More... | |
| LIBLAX_EXTERN int XMLNode_addAttr | ( | XMLNode_t * | node, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Adds an attribute with the given local name to the attribute set in this XMLNode_t.
(namespace URI and prefix are empty) Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to which an attribute to be added. |
| name | a string, the local name of the attribute. |
| value | a string, the value of the attribute. |
| LIBLAX_EXTERN int XMLNode_addAttrWithNS | ( | XMLNode_t * | node, |
| const char * | name, | ||
| const char * | value, | ||
| const char * | namespaceURI, | ||
| const char * | prefix | ||
| ) |
Adds an attribute with a prefix and namespace URI to the attribute set in this XMLNode_t optionally Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to which an attribute to be added. |
| 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. |
| LIBLAX_EXTERN int XMLNode_addAttrWithTriple | ( | XMLNode_t * | node, |
| const XMLTriple_t * | triple, | ||
| const char * | value | ||
| ) |
Adds an attribute with the given XMLTriple_t/value pair to the attribute set in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to which an attribute to be added. |
| triple | an XMLTriple_t, the XML triple of the attribute. |
| value | a string, the value of the attribute. |
| LIBLAX_EXTERN int XMLNode_addChild | ( | XMLNode_t * | node, |
| const XMLNode_t * | child | ||
| ) |
Adds a copy of child node to this XMLNode_t structure.
| node | XMLNode_t structure to which child is to be added. |
| child | XMLNode_t structure to be added as child. |
| LIBLAX_EXTERN int XMLNode_addNamespace | ( | XMLNode_t * | node, |
| const char * | uri, | ||
| const char * | prefix | ||
| ) |
Appends an XML namespace prefix and URI pair to this XMLNode_t.
If there is an XML namespace with the given prefix in this XMLNode_t, then the existing XML namespace will be overwritten by the new one. Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to be queried. |
| uri | a string, the uri for the namespace. |
| prefix | a string, the prefix for the namespace. |
| LIBLAX_EXTERN int XMLNode_clearAttributes | ( | XMLNode_t * | node | ) |
Clears (deletes) all attributes in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure from which attributes to be cleared. |
| LIBLAX_EXTERN int XMLNode_clearNamespaces | ( | XMLNode_t * | node | ) |
Clears (deletes) all XML namespace declarations in the XMLNamespaces_t of this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_clone | ( | const XMLNode_t * | n | ) |
| LIBLAX_EXTERN XMLNode_t * XMLNode_convertStringToXMLNode | ( | const char * | xml, |
| const XMLNamespaces_t * | xmlns | ||
| ) |
Returns an XMLNode_t pointer which is converted from a given string containing XML content.
XMLNamespaces_t (the second argument) must be given if the corresponding xmlns attribute is not included in the string of the first argument.
| xml | string to be converted to a XML node. |
| xmlns | XMLNamespaces_t structure the namespaces to set. |
| LIBLAX_EXTERN const char * XMLNode_convertXMLNodeToString | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN XMLNode_t * XMLNode_create | ( | void | ) |
| LIBLAX_EXTERN XMLNode_t * XMLNode_createEndElement | ( | const XMLTriple_t * | triple | ) |
Creates a new end element XMLNode_t structure with XMLTriple_t structure set and returns a pointer to it.
| triple | XMLTriple_t structure to be set. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_createFromToken | ( | const XMLToken_t * | token | ) |
Creates a new XMLNode_t structure by copying token and returns a pointer to it.
| token | XMLToken_t structure to be copied to XMLNode_t structure. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_createStartElement | ( | const XMLTriple_t * | triple, |
| const XMLAttributes_t * | attr | ||
| ) |
Creates a new start element XMLNode_t structure with XMLTriple_t and XMLAttributes_t structures set and returns a pointer to it.
| triple | XMLTriple_t structure to be set. |
| attr | XMLAttributes_t structure to be set. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_createStartElementNS | ( | const XMLTriple_t * | triple, |
| const XMLAttributes_t * | attr, | ||
| const XMLNamespaces_t * | ns | ||
| ) |
Creates a new start element XMLNode_t structure with XMLTriple_t, XMLAttributes_t and XMLNamespaces_t structures set and returns a pointer to it.
| triple | XMLTriple_t structure to be set. |
| attr | XMLAttributes_t structure to be set. |
| ns | XMLNamespaces_t structure to be set. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_createTextNode | ( | const char * | text | ) |
Creates a text XMLNode_t.
Defaults to creating the node with a line number of 0 and a column number of 0.
| text | the text to be added to the XMLToken_t. |
| LIBLAX_EXTERN int XMLNode_equals | ( | const XMLNode_t * | node, |
| const XMLNode_t * | other | ||
| ) |
| LIBLAX_EXTERN void XMLNode_free | ( | XMLNode_t * | node | ) |
| LIBLAX_EXTERN const XMLAttributes_t * XMLNode_getAttributes | ( | const XMLNode_t * | node | ) |
Returns the attributes of this element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN int XMLNode_getAttributesLength | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_getAttrIndex | ( | const XMLNode_t * | node, |
| const char * | name, | ||
| const char * | uri | ||
| ) |
Return the index of an attribute with the given local name and namespace URI.
| node | XMLNode_t structure to be queried. |
| name | a string, the local name of the attribute. |
| uri | a string, the namespace URI of the attribute. |
-1 if not present. | LIBLAX_EXTERN int XMLNode_getAttrIndexByTriple | ( | const XMLNode_t * | node, |
| const XMLTriple_t * | triple | ||
| ) |
Return the index of an attribute with the given XMLTriple_t.
| node | XMLNode_t structure to be queried. |
| triple | an XMLTriple_t, the XML triple of the attribute for which the index is required. |
-1 if not present. | LIBLAX_EXTERN char * XMLNode_getAttrName | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Return the local name of an attribute in the attributes set in this XMLNode_t (by position).
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute whose local name is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrPrefix | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Return the prefix of an attribute in the attribute set in this XMLNode_t (by position).
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute whose prefix is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrPrefixedName | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Return the prefixed name of an attribute in the attribute set in this XMLNode_t (by position).
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute whose prefixed name is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrURI | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Return the namespace URI of an attribute in the attribute set in this XMLNode_t (by position).
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute whose namespace URI is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrValue | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Return the value of an attribute in the attribute set in this XMLNode_t (by position).
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute whose value is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrValueByName | ( | const XMLNode_t * | node, |
| const char * | name | ||
| ) |
Return a value of an attribute with the given local name (without namespace URI).
| node | XMLNode_t structure to be queried. |
| name | a string, the local name of the attribute whose value is required. |
| LIBLAX_EXTERN char * XMLNode_getAttrValueByNS | ( | const XMLNode_t * | node, |
| const char * | name, | ||
| const char * | uri | ||
| ) |
Return a value of an attribute with the given local name and namespace URI.
| node | XMLNode_t structure to be queried. |
| name | a string, the local name of the attribute whose value is required. |
| uri | a string, the namespace URI of the attribute. |
| LIBLAX_EXTERN char * XMLNode_getAttrValueByTriple | ( | const XMLNode_t * | node, |
| const XMLTriple_t * | triple | ||
| ) |
Return a value of an attribute with the given XMLTriple_t.
| node | XMLNode_t structure to be queried. |
| triple | an XMLTriple_t, the XML triple of the attribute whose value is required. |
| LIBLAX_EXTERN const char * XMLNode_getCharacters | ( | const XMLNode_t * | node | ) |
Returns the text of this element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN const XMLNode_t * XMLNode_getChild | ( | const XMLNode_t * | node, |
| const int | n | ||
| ) |
| LIBLAX_EXTERN const XMLNode_t * XMLNode_getChildForName | ( | const XMLNode_t * | node, |
| const char * | name | ||
| ) |
Returns the first child of the XMLNode_t structure node with the given name.
If no child with corrsponding name can be found, this method returns an empty node.
| node | XMLNode_t structure to be queried. |
| name | the name of the node to return. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_getChildForNameNC | ( | XMLNode_t * | node, |
| const char * | name | ||
| ) |
Returns the (non-const) the first child of the XMLNode_t structure node with the given name.
If no child with corrsponding name can be found, this method returns an empty node.
| node | XMLNode_t structure to be queried. |
| name | the name of the node to return. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_getChildNC | ( | XMLNode_t * | node, |
| const unsigned int | n | ||
| ) |
| LIBLAX_EXTERN int XMLNode_getIndex | ( | const XMLNode_t * | node, |
| const char * | name | ||
| ) |
| LIBLAX_EXTERN const char * XMLNode_getName | ( | const XMLNode_t * | node | ) |
Returns the (unqualified) name of this XML element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN int XMLNode_getNamespaceIndex | ( | const XMLNode_t * | node, |
| const char * | uri | ||
| ) |
Look up the index of an XML namespace declaration by URI.
| node | XMLNode_t structure to be queried. |
| uri | a string, uri of the required namespace. |
-1 if not present. | LIBLAX_EXTERN int XMLNode_getNamespaceIndexByPrefix | ( | const XMLNode_t * | node, |
| const char * | prefix | ||
| ) |
Look up the index of an XML namespace declaration by prefix.
| node | XMLNode_t structure to be queried. |
| prefix | a string, prefix of the required namespace. |
-1 if not present. | LIBLAX_EXTERN char * XMLNode_getNamespacePrefix | ( | const XMLNode_t * | node, |
| 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_t.
| node | XMLNode_t structure to be queried. |
| index | an integer, position of the removed namespace. |
| LIBLAX_EXTERN char * XMLNode_getNamespacePrefixByURI | ( | const XMLNode_t * | node, |
| const char * | uri | ||
| ) |
Look up the prefix of an XML namespace declaration by its URI.
| node | XMLNode_t structure to be queried. |
| uri | a string, uri of the required namespace. |
| LIBLAX_EXTERN const XMLNamespaces_t * XMLNode_getNamespaces | ( | const XMLNode_t * | node | ) |
Returns the XML namespace declarations for this XML element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN int XMLNode_getNamespacesLength | ( | const XMLNode_t * | node | ) |
Returns the number of XML namespaces stored in the XMLNamespaces_t of this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN char * XMLNode_getNamespaceURI | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Look up the URI of an XML namespace declaration by its position.
| node | XMLNode_t structure to be queried. |
| index | an integer, position of the removed namespace. |
| LIBLAX_EXTERN char * XMLNode_getNamespaceURIByPrefix | ( | const XMLNode_t * | node, |
| const char * | prefix | ||
| ) |
Look up the URI of an XML namespace declaration by its prefix.
| node | XMLNode_t structure to be queried. |
| prefix | a string, prefix of the required namespace. |
| LIBLAX_EXTERN unsigned int XMLNode_getNumChildren | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN const char * XMLNode_getPrefix | ( | const XMLNode_t * | node | ) |
Returns the namespace prefix of this XML element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN const char * XMLNode_getURI | ( | const XMLNode_t * | node | ) |
Returns the namespace URI of this XML element.
| node | XMLNode_t structure to be queried. |
| LIBLAX_EXTERN int XMLNode_hasAttr | ( | const XMLNode_t * | node, |
| int | index | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given index exists in the attribute set in this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| index | an integer, the position of the attribute. |
1 (true) if an attribute with the given index exists in the attribute set in this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasAttrWithName | ( | const XMLNode_t * | node, |
| const char * | name | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given local name (without namespace URI) exists in the attribute set in this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| name | a string, the local name of the attribute. |
1 (true) if an attribute with the given local name (without namespace URI) exists in the attribute set in this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasAttrWithNS | ( | const XMLNode_t * | node, |
| const char * | name, | ||
| const char * | uri | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given local name and namespace URI exists in the attribute set in this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| name | a string, the local name of the attribute. |
| uri | a string, the namespace URI of the attribute. |
1 (true) if an attribute with the given local name and namespace URI exists in the attribute set in this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasAttrWithTriple | ( | const XMLNode_t * | node, |
| const XMLTriple_t * | triple | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an attribute with the given XML triple exists in the attribute set in this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| triple | an XMLTriple_t, the XML triple of the attribute. |
1 (true) if an attribute with the given XML triple exists in the attribute set in this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasChild | ( | const XMLNode_t * | node, |
| const char * | name | ||
| ) |
\* Return 1 (true) or 0 (false) indicating whether node has a child with the given name.
| node | XMLNode_t structure to be queried. |
| name | a string, the name of the child to be checked. |
1 (true) if this node has a child with the given name 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasNamespaceNS | ( | const XMLNode_t * | node, |
| const char * | uri, | ||
| const char * | prefix | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces_t of this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| uri | a string, the uri for the namespace. |
| prefix | a string, the prefix for the namespace. |
1 (true) if an XML Namespace with the given uri/prefix pair is contained in the XMLNamespaces_t of this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasNamespacePrefix | ( | const XMLNode_t * | node, |
| const char * | prefix | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given prefix is contained in the XMLNamespaces_t of this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| prefix | a string, the prefix for the namespace. |
1 (true) if an XML Namespace with the given URI is contained in the XMLNamespaces_t of this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_hasNamespaceURI | ( | const XMLNode_t * | node, |
| const char * | uri | ||
| ) |
Predicate returning 1 (true) or 0 (false) depending on whether an XML Namespace with the given URI is contained in the XMLNamespaces_t of this XMLNode_t.
| node | XMLNode_t structure to be queried. |
| uri | a string, the uri for the namespace. |
1 (true) if an XML Namespace with the given URI is contained in the XMLNamespaces_t of this XMLNode_t, 0 (false) otherwise. | LIBLAX_EXTERN XMLNode_t * XMLNode_insertChild | ( | XMLNode_t * | node, |
| unsigned int | n, | ||
| const XMLNode_t * | child | ||
| ) |
Inserts a copy of child node to this XMLNode_t structure.
| node | XMLNode_t structure to which child is to be added. |
| n | the index at which the given node is inserted. |
| child | XMLNode_t structure to be inserted as nth child. |
NULL will be returned if the given child is NULL. | LIBLAX_EXTERN int XMLNode_isAttributesEmpty | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_isElement | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_isEnd | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_isEndFor | ( | const XMLNode_t * | node, |
| const XMLNode_t * | element | ||
| ) |
| LIBLAX_EXTERN int XMLNode_isEOF | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_isNamespacesEmpty | ( | const XMLNode_t * | node | ) |
Predicate returning 1 (true) or 0 (false) depending on whether the XMLNamespaces_t of this XMLNode_t is empty.
| node | XMLNode_t structure to be queried. |
1 (true) if the XMLNamespaces_t of this XMLNode_t is empty, 0 (false) otherwise. | LIBLAX_EXTERN int XMLNode_isStart | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_isText | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_removeAttr | ( | XMLNode_t * | node, |
| int | n | ||
| ) |
Removes an attribute with the given index from the attribute set in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure from which an attribute to be removed. |
| n | an integer the index of the resource to be deleted. |
| LIBLAX_EXTERN int XMLNode_removeAttrByName | ( | XMLNode_t * | node, |
| const char * | name | ||
| ) |
Removes an attribute with the given local name (without namespace URI) from the attribute set in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure from which an attribute to be removed. |
| name | a string, the local name of the attribute. |
| LIBLAX_EXTERN int XMLNode_removeAttrByNS | ( | XMLNode_t * | node, |
| const char * | name, | ||
| const char * | uri | ||
| ) |
Removes an attribute with the given local name and namespace URI from the attribute set in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure from which an attribute to be removed. |
| name | a string, the local name of the attribute. |
| uri | a string, the namespace URI of the attribute. |
| LIBLAX_EXTERN int XMLNode_removeAttrByTriple | ( | XMLNode_t * | node, |
| const XMLTriple_t * | triple | ||
| ) |
Removes an attribute with the given XMLTriple_t from the attribute set in this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure from which an attribute to be removed. |
| triple | an XMLTriple_t, the XML triple of the attribute. |
| LIBLAX_EXTERN XMLNode_t * XMLNode_removeChild | ( | XMLNode_t * | node, |
| unsigned int | n | ||
| ) |
Removes the nth child of this XMLNode_t and returned the removed node.
| node | XMLNode_t structure to which child is to be removed. |
| n | the index of the node to be removed. |
NULL if the given index is out of range.| LIBLAX_EXTERN int XMLNode_removeChildren | ( | XMLNode_t * | node | ) |
Removes all children from this node.
| node | XMLNode_t structure whose children to remove. |
| LIBLAX_EXTERN int XMLNode_removeNamespace | ( | XMLNode_t * | node, |
| int | index | ||
| ) |
Removes an XML Namespace stored in the given position of the XMLNamespaces_t of this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to be queried. |
| index | an integer, position of the removed namespace. |
| LIBLAX_EXTERN int XMLNode_removeNamespaceByPrefix | ( | XMLNode_t * | node, |
| const char * | prefix | ||
| ) |
Removes an XML Namespace with the given prefix.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to be queried. |
| prefix | a string, prefix of the required namespace. |
| LIBLAX_EXTERN int XMLNode_setAttributes | ( | XMLNode_t * | node, |
| const XMLAttributes_t * | attributes | ||
| ) |
Sets an XMLAttributes_t to this XMLNode_t.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to which attributes to be set. |
| attributes | XMLAttributes_t to be set to this XMLNode_t. |
| LIBLAX_EXTERN int XMLNode_setEnd | ( | XMLNode_t * | node | ) |
Declares this XML start element is also an end element.
| node | XMLNode_t structure to be set. |
| LIBLAX_EXTERN int XMLNode_setEOF | ( | XMLNode_t * | node | ) |
Declares this XMLNode_t structure is an end-of-file (input) marker.
| node | XMLNode_t structure to be set. |
| LIBLAX_EXTERN int XMLNode_setNamespaces | ( | XMLNode_t * | node, |
| const XMLNamespaces_t * | namespaces | ||
| ) |
Sets an XMLnamespaces_t to this XML element.
Nothing will be done if this XMLNode_t is not a start element.
| node | XMLNode_t structure to be queried. |
| namespaces | XMLNamespaces_t to be set to this XMLNode_t. |
| LIBLAX_EXTERN int XMLNode_setTriple | ( | XMLNode_t * | node, |
| const XMLTriple_t * | triple | ||
| ) |
Sets the XMLTripe_t (name, uri and prefix) of this XML element.
Nothing will be done if this XML element is a text node.
| node | XMLNode_t structure to which the triple to be added. |
| triple | an XMLTriple_t, the XML triple to be set to this XML element. |
| LIBLAX_EXTERN char * XMLNode_toXMLString | ( | const XMLNode_t * | node | ) |
| LIBLAX_EXTERN int XMLNode_unsetEnd | ( | XMLNode_t * | node | ) |
Declares this XML start/end element is no longer an end element.
| node | XMLNode_t structure to be set. |