Rudiments
Public Member Functions | Static Public Member Functions | List of all members
xmldomnode Class Reference

Public Member Functions

 xmldomnode (xmldom *dom, xmldomnode *nullnode)
 
 xmldomnode (xmldom *dom, xmldomnode *nullnode, xmldomnodetype type, const char *name, const char *value)
 
 xmldomnode (xmldom *dom, xmldomnode *nullnode, xmldomnodetype type, const char *ns, const char *name, const char *value)
 
 ~xmldomnode ()
 
void cascadeOnDelete ()
 
void dontCascadeOnDelete ()
 
xmldomnodetype getType () const
 
const char * getNamespace () const
 
const char * getName () const
 
const char * getValue () const
 
xmldomgetTree () const
 
xmldomnodegetParent () const
 
uint64_t getPosition () const
 
xmldomnodegetPreviousSibling () const
 
xmldomnodegetPreviousTagSibling () const
 
xmldomnodegetPreviousTagSibling (const char *name) const
 
xmldomnodegetPreviousTagSibling (const char *ns, const char *name) const
 
xmldomnodegetPreviousTagSiblingIgnoringCase (const char *name) const
 
xmldomnodegetPreviousTagSiblingIgnoringCase (const char *ns, const char *name) const
 
xmldomnodegetPreviousTagSibling (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetPreviousTagSibling (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetPreviousTagSiblingIgnoringCase (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetPreviousTagSiblingIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetNextSibling () const
 
xmldomnodegetNextTagSibling () const
 
xmldomnodegetNextTagSibling (const char *name) const
 
xmldomnodegetNextTagSibling (const char *ns, const char *name) const
 
xmldomnodegetNextTagSiblingIgnoringCase (const char *name) const
 
xmldomnodegetNextTagSiblingIgnoringCase (const char *ns, const char *name) const
 
xmldomnodegetNextTagSibling (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetNextTagSibling (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetNextTagSiblingIgnoringCase (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetNextTagSiblingIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetNextTagSiblingInSet (const char *const *set) const
 
xmldomnodegetNextTagSiblingInSet (const char *ns, const char *const *set) const
 
uint64_t getChildCount () const
 
xmldomnodegetFirstChild (const char *name) const
 
xmldomnodegetFirstChild (const char *ns, const char *name) const
 
xmldomnodegetFirstChildIgnoringCase (const char *name) const
 
xmldomnodegetFirstChildIgnoringCase (const char *ns, const char *name) const
 
xmldomnodegetChild (uint64_t position) const
 
xmldomnodegetFirstChild (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstChild (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstChildIgnoringCase (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstChildIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagChild () const
 
xmldomnodegetFirstTagChild (const char *name) const
 
xmldomnodegetFirstTagChild (const char *ns, const char *name) const
 
xmldomnodegetFirstTagChildIgnoringCase (const char *name) const
 
xmldomnodegetFirstTagChildIgnoringCase (const char *ns, const char *name) const
 
xmldomnodegetFirstTagChild (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagChild (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagChildIgnoringCase (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagChildIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagChildInSet (const char *const *set) const
 
xmldomnodegetFirstTagChildInSet (const char *ns, const char *const *set) const
 
xmldomnodegetFirstTagDescendent (const char *name) const
 
xmldomnodegetFirstTagDescendent (const char *ns, const char *name) const
 
xmldomnodegetFirstTagDescendentIgnoringCase (const char *name) const
 
xmldomnodegetFirstTagDescendentIgnoringCase (const char *ns, const char *name) const
 
xmldomnodegetFirstTagDescendent (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagDescendent (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagDescendentIgnoringCase (const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagDescendentIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue) const
 
xmldomnodegetFirstTagDescendentInSet (const char *const *set) const
 
xmldomnodegetFirstTagDescendentInSet (const char *ns, const char *const *set) const
 
xmldomnodegetNextTag () const
 
xmldomnodegetNextTag (xmldomnode *top) const
 
xmldomnodegetPreviousTag () const
 
xmldomnodegetPreviousTag (xmldomnode *top) const
 
uint64_t getAttributeCount () const
 
xmldomnodegetAttribute (const char *name) const
 
xmldomnodegetAttributeIgnoringCase (const char *name) const
 
xmldomnodegetAttribute (uint64_t position) const
 
const char * getAttributeValue (const char *name) const
 
const char * getAttributeValue (uint64_t position) const
 
constnamevaluepairs * getAttributes () const
 
void setAttributeValue (const char *name, const char *value)
 
void setAttributeValue (const char *name, int64_t value)
 
void setAttributeValue (const char *name, uint64_t value)
 
xmldomnodegetNullNode () const
 
bool isNullNode () const
 
void setType (xmldomnodetype type)
 
void setNamespace (const char *ns)
 
void setName (const char *name)
 
void setName (const char *ns, const char *name)
 
void setValue (const char *value)
 
void setParent (xmldomnode *parent)
 
void setPreviousSibling (xmldomnode *previous)
 
void setNextSibling (xmldomnode *next)
 
bool insertChild (xmldomnode *child, uint64_t position)
 
bool appendChild (xmldomnode *child)
 
xmldomnodeinsertTag (const char *tag, uint64_t position)
 
xmldomnodeinsertTag (const char *ns, const char *tag, uint64_t position)
 
bool insertXml (const char *xml, uint64_t position)
 
bool insertXmlFile (const char *xmlfile, uint64_t position)
 
xmldomnodeappendTag (const char *tag)
 
xmldomnodeappendTag (const char *ns, const char *tag)
 
bool appendXml (const char *xml)
 
bool appendXmlFile (const char *xmlfile)
 
bool moveChild (xmldomnode *child, xmldomnode *parent, uint64_t position)
 
bool deleteChild (uint64_t position)
 
bool deleteChild (xmldomnode *child)
 
bool deleteFirstChild (const char *name)
 
bool deleteFirstChild (const char *ns, const char *name)
 
bool deleteFirstChildIgnoringCase (const char *name)
 
bool deleteFirstChildIgnoringCase (const char *ns, const char *name)
 
bool deleteFirstChild (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteFirstChild (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool deleteFirstChildIgnoringCase (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteFirstChildIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool deleteChildren ()
 
bool deleteChildren (const char *name)
 
bool deleteChildren (const char *ns, const char *name)
 
bool deleteChildrenIgnoringCase (const char *name)
 
bool deleteChildrenIgnoringCase (const char *ns, const char *name)
 
bool deleteChildren (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteChildren (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool deleteChildrenIgnoringCase (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteChildrenIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool deleteDescendents (const char *name)
 
bool deleteDescendents (const char *ns, const char *name)
 
bool deleteDescendentsIgnoringCase (const char *name)
 
bool deleteDescendentsIgnoringCase (const char *ns, const char *name)
 
bool deleteDescendents (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteDescendents (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool deleteDescendentsIgnoringCase (const char *name, const char *attributename, const char *attributevalue)
 
bool deleteDescendentsIgnoringCase (const char *ns, const char *name, const char *attributename, const char *attributevalue)
 
bool renameFirstChild (const char *oldname, const char *newname)
 
bool renameFirstChild (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool renameFirstChildIgnoringCase (const char *oldname, const char *newname)
 
bool renameFirstChildIgnoringCase (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool renameChildren (const char *oldname, const char *newname)
 
bool renameChildren (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool renameChildrenIgnoringCase (const char *oldname, const char *newname)
 
bool renameChildrenIgnoringCase (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool renameDescendents (const char *oldname, const char *newname)
 
bool renameDescendents (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool renameDescendentsIgnoringCase (const char *oldname, const char *newname)
 
bool renameDescendentsIgnoringCase (const char *oldns, const char *oldname, const char *newns, const char *newname)
 
bool insertText (const char *value, uint64_t position)
 
bool appendText (const char *value)
 
bool insertAttribute (xmldomnode *attribute, uint64_t position)
 
bool appendAttribute (xmldomnode *attribute)
 
bool insertAttribute (const char *name, const char *value, uint64_t position)
 
bool appendAttribute (const char *name, const char *value)
 
bool deleteAttribute (uint64_t position)
 
bool deleteAttribute (const char *name)
 
bool deleteAttribute (xmldomnode *attribute)
 
bool unwrapChild (xmldomnode *child)
 
bool unwrapFirstChild (const char *name)
 
bool unwrapFirstChild (const char *ns, const char *name)
 
bool unwrapFirstChildIgnoringCase (const char *name)
 
bool unwrapFirstChildIgnoringCase (const char *ns, const char *name)
 
bool unwrapChildren (const char *name)
 
bool unwrapChildren (const char *ns, const char *name)
 
bool unwrapChildrenIgnoringCase (const char *name)
 
bool unwrapChildrenIgnoringCase (const char *ns, const char *name)
 
bool unwrapDescendents (const char *name)
 
bool unwrapDescendents (const char *ns, const char *name)
 
bool unwrapDescendentsIgnoringCase (const char *name)
 
bool unwrapDescendentsIgnoringCase (const char *ns, const char *name)
 
xmldomnodewrapChild (xmldomnode *child, const char *name)
 
xmldomnodewrapChild (xmldomnode *child, const char *ns, const char *name)
 
xmldomnodewrapChildren (xmldomnode *startchild, xmldomnode *endchild, const char *name)
 
xmldomnodewrapChildren (xmldomnode *startchild, xmldomnode *endchild, const char *ns, const char *name)
 
xmldomnodewrapChildren (const char *name)
 
xmldomnodewrapChildren (const char *ns, const char *name)
 
xmldomnodeclone ()
 
xmldomnodeclone (xmldom *dom)
 
stringbufferxml () const
 
void print (stringbuffer *strb) const
 
void print (filedescriptor *fd) const
 
stringbuffergetPath () const
 
xmldomnodegetChildByPath (const char *path) const
 
xmldomnodegetAttributeByPath (const char *path, uint64_t position) const
 
xmldomnodegetAttributeByPath (const char *path, const char *name) const
 
const char * getAttributeValueByPath (const char *path, uint64_t position) const
 
const char * getAttributeValueByPath (const char *path, const char *name) const
 
void setData (void *data)
 
void * getData ()
 

Static Public Member Functions

static xmldomnodecreateNullNode (xmldom *dom)
 

Detailed Description

The xmldomnode class provides a generic container for DOM tree elements. One can navigate the nodes of the tree, modify the tree and read or modify the data that the nodes contain by calling methods in this class.

A DOM tree node can be one of the following: the document root a tag a tag attribute a segment of text a comment a segment of CDATA

Each node may contain the following data: (For some node types, the data container is unused and set to NULL) type namespace name value parent node next sibling previous sibling a list of attribute nodes a list of child nodes

Here is a breakdown by node type:

    For the document root:
            type - ROOT_XMLDOMNODETYPE
            namespace - unused
            name - "document"
            value - unused
            parent node - unused
            next sibling - unused
            previous sibling - unused
            a list of attribute nodes - unused
            a list of child nodes - the xml version tag, the doctype tag
                                    and the top-level enclosing tag

    For a tag:
            type - TAG_XMLDOMNODETYPE
            namespace - the tag namespace
            name - the tag name
            value - unused
            parent node - the parent tag or document root
            next sibling - can be another tag, a segment of text,
                                     a comment or a segment of cdata
            previous sibling - can be another tag, a segment of text,
                                     a comment or a segment of cdata
            a list of attribute nodes - a list of attribute nodes
            a list of child nodes - a list of tags, text segments, comments
                                    and/or cdata segments

    For a tag attribute:
            type - ATTRIBUTE_XMLDOMNODETYPE
            namespace - unused
            name - the attribute name
            value - the attribute value
                (note that for tags with standalone
                attributes, the name and value are the same)
            parent node - the tag containing the attributes
            next sibling - the next attribute
            previous sibling - the previous attribute
            a list of attribute nodes - unused
            a list of child nodes - unused

    For a segment of text:
            type - TEXT_XMLDOMNODETYPE
            namespace - unused
            name - "text"
            value - the text itself
            parent node - the tag containing the text
            next sibling - can be a tag, a comment or a segment of cdata
            previous sibling - can be a tag, a comment or a segment of cdata
            a list of attribute nodes - unused
            a list of child nodes - unused

    For a comment:
            type - COMMENT_XMLDOMNODETYPE
            namespace - unused
            name - "comment"
            value - the comment itself
            parent node - the tag containing the comment
            next sibling - can be a tag, a segment of text, another
                            comment or a segment of cdata
            previous sibling - can be a tag, a segment of text, another
                            comment or a segment of cdata
            a list of attribute nodes - unused
            a list of child nodes - unused

    For a segment of cdata:
            type - CDATA_XMLDOMNODETYPE
            namespace - unused
            name - "cdata"
            value - the cdata itself
            parent node - the tag containing the cdata
            next sibling - can be a tag, a segment of text, a comment
                            or another segment of cdata
            previous sibling - can be a tag, a segment of text, a comment
                            or another segment of cdata
            a list of attribute nodes - unused
            a list of child nodes - unused  

Constructor & Destructor Documentation

◆ xmldomnode() [1/3]

xmldomnode::xmldomnode ( xmldom dom,
xmldomnode nullnode 
)

Creates a new node and intializes its member variables to NULL.

Your application should pass in a special "nullnode" which may be created by the static method createNullNode() below.

This will keep command chaining like this:

mynode->getFirstChild("node1")-> getFirstChild("node2")->getName("node3");

from causing the program to crash trying to dereference a NULL pointer if, for example, "node2" doesn't exist.

◆ xmldomnode() [2/3]

xmldomnode::xmldomnode ( xmldom dom,
xmldomnode nullnode,
xmldomnodetype  type,
const char *  name,
const char *  value 
)

Creates a new node (see xmldomnode(xmldom *, xmldomnode *) and intializes its member variables to the values passed in.

◆ xmldomnode() [3/3]

xmldomnode::xmldomnode ( xmldom dom,
xmldomnode nullnode,
xmldomnodetype  type,
const char *  ns,
const char *  name,
const char *  value 
)

Creates a new node (see xmldomnode(xmldom *, xmldomnode *) and intializes its member variables to the values passed in.

◆ ~xmldomnode()

xmldomnode::~xmldomnode ( )

Deletes the node, all attribute nodes and optionally all child nodes, recursively.

Member Function Documentation

◆ appendAttribute() [1/2]

bool xmldomnode::appendAttribute ( xmldomnode attribute)

Appends "attribute" to the list of attributes.

◆ appendAttribute() [2/2]

bool xmldomnode::appendAttribute ( const char *  name,
const char *  value 
)

Creates an attribute node with "name" and "value" and appends it to the list of attributes.

◆ appendChild()

bool xmldomnode::appendChild ( xmldomnode child)

Appends "child" to the list of child nodes.

◆ appendTag() [1/2]

xmldomnode* xmldomnode::appendTag ( const char *  tag)

Appends a new node of type TAG_XMLDOMNODETYPE with name "tag" to the list of child nodes.

Returns the new node on success or the null node on failure.

◆ appendTag() [2/2]

xmldomnode* xmldomnode::appendTag ( const char *  ns,
const char *  tag 
)

Appends a new node of type TAG_XMLDOMNODETYPE with namespace "ns" and name "tag" to the list of child nodes.

Returns the new node on success or the null node on failure.

◆ appendText()

bool xmldomnode::appendText ( const char *  value)

Appends a child node of type TEXT_XMLDOMNODE with value "value" to the list of child nodes.

◆ appendXml()

bool xmldomnode::appendXml ( const char *  xml)

Parses "xml" and appends the result to the list of child nodes.

Returns true on success or false on failure.

◆ appendXmlFile()

bool xmldomnode::appendXmlFile ( const char *  xmlfile)

Parses file "xml" and appends the result to the list of child nodes.

Returns true on success or false on failure.

◆ cascadeOnDelete()

void xmldomnode::cascadeOnDelete ( )

Instructs the destructor to recursively delete all child nodes. This is the default behavior.

◆ clone() [1/2]

xmldomnode* xmldomnode::clone ( )

Clones this node and all of its children and returns a pointer to the clone.

◆ clone() [2/2]

xmldomnode* xmldomnode::clone ( xmldom dom)

Clones this node and all of its children in tree "dom" and returns a pointer to the clone.

◆ createNullNode()

static xmldomnode* xmldomnode::createNullNode ( xmldom dom)
static

Creates a special "null node" whose parent, next sibling, previous sibling, and child point back to itself. This special node should be passed in when creating new xmldomnodes.

This method allocates xmldomnode internally and passes a pointer back. The calling program must ultimately deallocate the node.

◆ deleteAttribute() [1/3]

bool xmldomnode::deleteAttribute ( uint64_t  position)

Deletes the attribute at "position". The position of the next attribute (and all successive attributes) is decremented.

◆ deleteAttribute() [2/3]

bool xmldomnode::deleteAttribute ( const char *  name)

Searches the list of attribute nodes for an attribute named "name" and deletes it. The position of the next attribute (and all successive attributes) is decremented.

◆ deleteAttribute() [3/3]

bool xmldomnode::deleteAttribute ( xmldomnode attribute)

Searches the list of attribute nodes for "attribute" and deletes it. The position of the next attribute (and all successive attributes) is decremented.

◆ deleteChild() [1/2]

bool xmldomnode::deleteChild ( uint64_t  position)

Deletes the child node at "position". The position of the next sibling (and all successive siblings) is decremented.

◆ deleteChild() [2/2]

bool xmldomnode::deleteChild ( xmldomnode child)

Deletes child node "child". The position of the next sibling (and all successive siblings) is decremented.

The behavior is undefined if "child" is not actually a child of this node.

◆ deleteChildren() [1/5]

bool xmldomnode::deleteChildren ( )

Deletes all child nodes.

◆ deleteChildren() [2/5]

bool xmldomnode::deleteChildren ( const char *  name)

Deletes all child nodes named "name".

◆ deleteChildren() [3/5]

bool xmldomnode::deleteChildren ( const char *  ns,
const char *  name 
)

Deletes all child nodes in namespace "ns" named "name".

◆ deleteChildren() [4/5]

bool xmldomnode::deleteChildren ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all child nodes named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteChildren() [5/5]

bool xmldomnode::deleteChildren ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all child nodes in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteChildrenIgnoringCase() [1/4]

bool xmldomnode::deleteChildrenIgnoringCase ( const char *  name)

Deletes all child nodes named "name" (ignoring case).

◆ deleteChildrenIgnoringCase() [2/4]

bool xmldomnode::deleteChildrenIgnoringCase ( const char *  ns,
const char *  name 
)

Deletes all child nodes in namespace "ns" named "name" (both ignoring case).

◆ deleteChildrenIgnoringCase() [3/4]

bool xmldomnode::deleteChildrenIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all child nodes named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteChildrenIgnoringCase() [4/4]

bool xmldomnode::deleteChildrenIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all child nodes in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute name "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteDescendents() [1/4]

bool xmldomnode::deleteDescendents ( const char *  name)

Deletes all descendents named "name".

◆ deleteDescendents() [2/4]

bool xmldomnode::deleteDescendents ( const char *  ns,
const char *  name 
)

Deletes all descendents in namespace "ns" named "name".

◆ deleteDescendents() [3/4]

bool xmldomnode::deleteDescendents ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all descendents named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent is not checked, and the first descendent with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteDescendents() [4/4]

bool xmldomnode::deleteDescendents ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all descendents in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent is not checked, and the first descendent with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteDescendentsIgnoringCase() [1/4]

bool xmldomnode::deleteDescendentsIgnoringCase ( const char *  name)

Deletes all descendents named "name" (ignoring case).

◆ deleteDescendentsIgnoringCase() [2/4]

bool xmldomnode::deleteDescendentsIgnoringCase ( const char *  ns,
const char *  name 
)

Deletes all descendents in namespace "ns" named "name" (both ignoring case).

◆ deleteDescendentsIgnoringCase() [3/4]

bool xmldomnode::deleteDescendentsIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all descendents named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent is not checked, and the first descendent with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteDescendentsIgnoringCase() [4/4]

bool xmldomnode::deleteDescendentsIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes all descendents in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent is not checked, and the first descendent with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteFirstChild() [1/4]

bool xmldomnode::deleteFirstChild ( const char *  name)

Deletes the first child named "name". The position of the next sibling (and all successive siblings) is decremented.

◆ deleteFirstChild() [2/4]

bool xmldomnode::deleteFirstChild ( const char *  ns,
const char *  name 
)

Deletes the first child in namespace "ns" named "name". The position of the next sibling (and all successive siblings) is decremented.

◆ deleteFirstChild() [3/4]

bool xmldomnode::deleteFirstChild ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes the first child node named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteFirstChild() [4/4]

bool xmldomnode::deleteFirstChild ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes the first child node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteFirstChildIgnoringCase() [1/4]

bool xmldomnode::deleteFirstChildIgnoringCase ( const char *  name)

Deletes the first child named "name" (ignoring case). The position of the next sibling (and all successive siblings) is decremented.

◆ deleteFirstChildIgnoringCase() [2/4]

bool xmldomnode::deleteFirstChildIgnoringCase ( const char *  ns,
const char *  name 
)

Deletes the first child in namespace "ns" named "name" (both ignoring case). The position of the next sibling (and all successive siblings) is decremented.

◆ deleteFirstChildIgnoringCase() [3/4]

bool xmldomnode::deleteFirstChildIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes the first child node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ deleteFirstChildIgnoringCase() [4/4]

bool xmldomnode::deleteFirstChildIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
)

Deletes the first child node in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ dontCascadeOnDelete()

void xmldomnode::dontCascadeOnDelete ( )

Instructs the destructor not to recursively delete all child nodes. The default behavior is to delete all child nodes.

◆ getAttribute() [1/2]

xmldomnode* xmldomnode::getAttribute ( const char *  name) const

Returns the attribute named "name" or the nullnode if not found.

◆ getAttribute() [2/2]

xmldomnode* xmldomnode::getAttribute ( uint64_t  position) const

Returns the attribute node at index "position" or the nullnode if not found.

◆ getAttributeByPath() [1/2]

xmldomnode* xmldomnode::getAttributeByPath ( const char *  path,
uint64_t  position 
) const

Returns the attribute node at index "position" of the child element with "path" of the form:

/element[index]/element[index]/...

Returns the null node if the specified element was not found.

◆ getAttributeByPath() [2/2]

xmldomnode* xmldomnode::getAttributeByPath ( const char *  path,
const char *  name 
) const

Returns the attribute node named "name" of the child element with "path" of the form:

/element[index]/element[index]/...

Returns the null node if the specified element was not found.

◆ getAttributeCount()

uint64_t xmldomnode::getAttributeCount ( ) const

Returns the number of attributes.

◆ getAttributeIgnoringCase()

xmldomnode* xmldomnode::getAttributeIgnoringCase ( const char *  name) const

Returns the attribute named "name" (ignoring case) or the nullnode if not found.

◆ getAttributes()

constnamevaluepairs* xmldomnode::getAttributes ( ) const

Returns the attribute names and values in a constnamevaluepairs dictionary. The instance of constnamevaluepairs is allocated internally and must be deleted by the calling program. Returns NULL if the node is a nullNode and an empty dictionary if the node has no attributes.

◆ getAttributeValue() [1/2]

const char* xmldomnode::getAttributeValue ( const char *  name) const

Returns the value of the attribute named "name" or the nullnode if not found.

◆ getAttributeValue() [2/2]

const char* xmldomnode::getAttributeValue ( uint64_t  position) const

Returns the value of the attribute node at index "position" or the nullnode if not found.

◆ getAttributeValueByPath() [1/2]

const char* xmldomnode::getAttributeValueByPath ( const char *  path,
uint64_t  position 
) const

Returns the value of the attribute at index "position" of the child element with "path" of the form:

/element[index]/element[index]/...

Returns the null node if the specified element was not found.

◆ getAttributeValueByPath() [2/2]

const char* xmldomnode::getAttributeValueByPath ( const char *  path,
const char *  name 
) const

Returns the value of the attribute named "name" of the child element with "path" of the form:

/element[index]/element[index]/...

Returns the null node if the specified element was not found.

◆ getChild()

xmldomnode* xmldomnode::getChild ( uint64_t  position) const

Returns the child node at index "position" or the nullnode if not found.

◆ getChildByPath()

xmldomnode* xmldomnode::getChildByPath ( const char *  path) const

Returns the child element with "path" of the form:

/element[index]/element[index]/...

Returns the null node if the specified element was not found.

◆ getChildCount()

uint64_t xmldomnode::getChildCount ( ) const

Returns the number of immediate child nodes.

◆ getData()

void* xmldomnode::getData ( )

Allows an app to get the arbitrary data associated with the node using setData().

◆ getFirstChild() [1/4]

xmldomnode* xmldomnode::getFirstChild ( const char *  name) const

Returns the firest child node named "name" or the nullnode if not found.

◆ getFirstChild() [2/4]

xmldomnode* xmldomnode::getFirstChild ( const char *  ns,
const char *  name 
) const

Returns the firest child node in namespace "ns" named "name" or the nullnode if not found.

◆ getFirstChild() [3/4]

xmldomnode* xmldomnode::getFirstChild ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node named "name" with an attribute named "attributename" with value "attributevalue". If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstChild() [4/4]

xmldomnode* xmldomnode::getFirstChild ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue". If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstChildIgnoringCase() [1/4]

xmldomnode* xmldomnode::getFirstChildIgnoringCase ( const char *  name) const

Returns the child node named "name" (ignoring case) or the nullnode if not found.

◆ getFirstChildIgnoringCase() [2/4]

xmldomnode* xmldomnode::getFirstChildIgnoringCase ( const char *  ns,
const char *  name 
) const

Returns the child node in namespace "ns" (ignoring case) named "name" (ignoring case) or the nullnode if not found.

◆ getFirstChildIgnoringCase() [3/4]

xmldomnode* xmldomnode::getFirstChildIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case). If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstChildIgnoringCase() [4/4]

xmldomnode* xmldomnode::getFirstChildIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case). If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagChild() [1/5]

xmldomnode* xmldomnode::getFirstTagChild ( ) const

Returns the first child node whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagChild() [2/5]

xmldomnode* xmldomnode::getFirstTagChild ( const char *  name) const

Returns the first child node named "name" whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagChild() [3/5]

xmldomnode* xmldomnode::getFirstTagChild ( const char *  ns,
const char *  name 
) const

Returns the first child node in namespace "ns" named "name" whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagChild() [4/5]

xmldomnode* xmldomnode::getFirstTagChild ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagChild() [5/5]

xmldomnode* xmldomnode::getFirstTagChild ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagChildIgnoringCase() [1/4]

xmldomnode* xmldomnode::getFirstTagChildIgnoringCase ( const char *  name) const

Returns the first child node named "name" (ignoring case) whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagChildIgnoringCase() [2/4]

xmldomnode* xmldomnode::getFirstTagChildIgnoringCase ( const char *  ns,
const char *  name 
) const

Returns the first child node in namespace "ns" named "name" (both ignoring case) whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagChildIgnoringCase() [3/4]

xmldomnode* xmldomnode::getFirstTagChildIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagChildIgnoringCase() [4/4]

xmldomnode* xmldomnode::getFirstTagChildIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first child node in namespace "ns" (ignoring case) named "name" * (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagChildInSet() [1/2]

xmldomnode* xmldomnode::getFirstTagChildInSet ( const char *const *  set) const

Returns the first child node whose type is TAG_XMLDOMNODE and whose name matches one of the members of the NULL-terminated array "set". If no match is found, nullnode is returned.

◆ getFirstTagChildInSet() [2/2]

xmldomnode* xmldomnode::getFirstTagChildInSet ( const char *  ns,
const char *const *  set 
) const

Returns the first child node in namespace "ns" whose name matches one of the members of the NULL-terminated array "set" and whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagDescendent() [1/4]

xmldomnode* xmldomnode::getFirstTagDescendent ( const char *  name) const

Returns the first descendent node named "name" whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagDescendent() [2/4]

xmldomnode* xmldomnode::getFirstTagDescendent ( const char *  ns,
const char *  name 
) const

Returns the first descendent node in namespace "ns" named "name" whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagDescendent() [3/4]

xmldomnode* xmldomnode::getFirstTagDescendent ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first descendent node named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent node is not checked, and the first descendent node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagDescendent() [4/4]

xmldomnode* xmldomnode::getFirstTagDescendent ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first descendent node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent node is not checked, and the first descendent node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagDescendentIgnoringCase() [1/4]

xmldomnode* xmldomnode::getFirstTagDescendentIgnoringCase ( const char *  name) const

Returns the first descendent node named "name" (ignoring case) whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagDescendentIgnoringCase() [2/4]

xmldomnode* xmldomnode::getFirstTagDescendentIgnoringCase ( const char *  ns,
const char *  name 
) const

Returns the first descendent node in namespace "ns" named "name" (both ignoring case) whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getFirstTagDescendentIgnoringCase() [3/4]

xmldomnode* xmldomnode::getFirstTagDescendentIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first descendent node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent node is not checked, and the first descendent node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagDescendentIgnoringCase() [4/4]

xmldomnode* xmldomnode::getFirstTagDescendentIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the first descendent node in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the descendent node is not checked, and the first descendent node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getFirstTagDescendentInSet() [1/2]

xmldomnode* xmldomnode::getFirstTagDescendentInSet ( const char *const *  set) const

Returns the first descendent node whose type is TAG_XMLDOMNODE and whose name matches one of the members of the NULL-terminated array "set". If no match is found, nullnode is returned.

◆ getFirstTagDescendentInSet() [2/2]

xmldomnode* xmldomnode::getFirstTagDescendentInSet ( const char *  ns,
const char *const *  set 
) const

Returns the first descendent node in namespace "ns" whose name matches one of the members of the NULL-terminated array "set" and whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getName()

const char* xmldomnode::getName ( ) const

Returns the name of the node.

◆ getNamespace()

const char* xmldomnode::getNamespace ( ) const

Returns the namespace of the node.

◆ getNextSibling()

xmldomnode* xmldomnode::getNextSibling ( ) const

Returns a pointer to the next sibling node or the nullnode if none exists.

◆ getNextTag() [1/2]

xmldomnode* xmldomnode::getNextTag ( ) const

Returns the next node in a depth-first traversal whose type is TAG_XMLDOMNODE.

◆ getNextTag() [2/2]

xmldomnode* xmldomnode::getNextTag ( xmldomnode top) const

Returns the next node in a depth-first traversal of the nodes beneath "top" whose type is TAG_XMLDOMNODE.

The behavior is undefined if "top" is not a direct ancestor of this node.

◆ getNextTagSibling() [1/5]

xmldomnode* xmldomnode::getNextTagSibling ( ) const

Returns a pointer to the next sibling node whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getNextTagSibling() [2/5]

xmldomnode* xmldomnode::getNextTagSibling ( const char *  name) const

Returns the next sibling node named "name" whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getNextTagSibling() [3/5]

xmldomnode* xmldomnode::getNextTagSibling ( const char *  ns,
const char *  name 
) const

Returns the next sibling node in namespace "ns" named "name" whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getNextTagSibling() [4/5]

xmldomnode* xmldomnode::getNextTagSibling ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the next sibling node named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getNextTagSibling() [5/5]

xmldomnode* xmldomnode::getNextTagSibling ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the next sibling node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getNextTagSiblingIgnoringCase() [1/4]

xmldomnode* xmldomnode::getNextTagSiblingIgnoringCase ( const char *  name) const

Returns the next sibling node named "name" (ignoring case) whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getNextTagSiblingIgnoringCase() [2/4]

xmldomnode* xmldomnode::getNextTagSiblingIgnoringCase ( const char *  ns,
const char *  name 
) const

Returns the next sibling node in namespace "ns" named "name" (both ignoring case) whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getNextTagSiblingIgnoringCase() [3/4]

xmldomnode* xmldomnode::getNextTagSiblingIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the next sibling node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getNextTagSiblingIgnoringCase() [4/4]

xmldomnode* xmldomnode::getNextTagSiblingIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the next sibling node in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getNextTagSiblingInSet() [1/2]

xmldomnode* xmldomnode::getNextTagSiblingInSet ( const char *const *  set) const

Returns the next sibling node whose type is TAG_XMLDOMNODE and whose name matches one of the members of the NULL-terminated array "set". If no match is found, nullnode is returned.

◆ getNextTagSiblingInSet() [2/2]

xmldomnode* xmldomnode::getNextTagSiblingInSet ( const char *  ns,
const char *const *  set 
) const

Returns the next sibling node in namespace "ns" whose name matches one of the members of the NULL-terminated array "set" and whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getNullNode()

xmldomnode* xmldomnode::getNullNode ( ) const

Returns the nullnode used by this node.

◆ getParent()

xmldomnode* xmldomnode::getParent ( ) const

Returns a pointer to the parent node or the nullnode if none exists.

◆ getPath()

stringbuffer* xmldomnode::getPath ( ) const

If the xmldomnode is an element, returns the "path" of the xmldomnode. The path will have the following form:

/element[index]/element[index]/...

The return value is allocated inside the method and must be deallocated by the calling program.

◆ getPosition()

uint64_t xmldomnode::getPosition ( ) const

Returns the position of the node, relative to its siblings.

◆ getPreviousSibling()

xmldomnode* xmldomnode::getPreviousSibling ( ) const

Returns a pointer to the previous sibling node or the nullnode if none exists.

◆ getPreviousTag() [1/2]

xmldomnode* xmldomnode::getPreviousTag ( ) const

Returns the previous node in a depth-first traversal whose type is TAG_XMLDOMNODE.

◆ getPreviousTag() [2/2]

xmldomnode* xmldomnode::getPreviousTag ( xmldomnode top) const

Returns the previous node in a depth-first traversal of the nodes beneath "top" whose type is TAG_XMLDOMNODE.

The behavior is undefined if "top" is not a direct ancestor of this node.

◆ getPreviousTagSibling() [1/5]

xmldomnode* xmldomnode::getPreviousTagSibling ( ) const

Returns a pointer to the previous sibling node whose type is TAG_XMLDOMNODE. If no match is found, nullnode is returned.

◆ getPreviousTagSibling() [2/5]

xmldomnode* xmldomnode::getPreviousTagSibling ( const char *  name) const

Returns the previous sibling node named "name" whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getPreviousTagSibling() [3/5]

xmldomnode* xmldomnode::getPreviousTagSibling ( const char *  ns,
const char *  name 
) const

Returns the previous sibling node in namespace "ns" named "name" whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getPreviousTagSibling() [4/5]

xmldomnode* xmldomnode::getPreviousTagSibling ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the previous sibling node named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getPreviousTagSibling() [5/5]

xmldomnode* xmldomnode::getPreviousTagSibling ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the previous sibling node in namespace "ns" named "name" with an attribute named "attributename" with value "attributevalue" whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getPreviousTagSiblingIgnoringCase() [1/4]

xmldomnode* xmldomnode::getPreviousTagSiblingIgnoringCase ( const char *  name) const

Returns the previous sibling node named "name" (ignoring case) whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getPreviousTagSiblingIgnoringCase() [2/4]

xmldomnode* xmldomnode::getPreviousTagSiblingIgnoringCase ( const char *  ns,
const char *  name 
) const

Returns the previous sibling node in namespace "napesp" named "name" (both ignoring case) whose type is TAG_XMLDOMNODE or the nullnode if not found.

◆ getPreviousTagSiblingIgnoringCase() [3/4]

xmldomnode* xmldomnode::getPreviousTagSiblingIgnoringCase ( const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the previous sibling node named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getPreviousTagSiblingIgnoringCase() [4/4]

xmldomnode* xmldomnode::getPreviousTagSiblingIgnoringCase ( const char *  ns,
const char *  name,
const char *  attributename,
const char *  attributevalue 
) const

Returns the previous sibling node in namespace "ns" (ignoring case) named "name" (ignoring case) with an attribute named "attributename" with value "attributevalue" (both ignoring case) whose type is TAG_XMLDOMNODE. If "name" is null, then the name of the child node is not checked, and the first child node with any name (with matching attribute name/value) will be returned. If no match is found, nullnode is returned.

◆ getTree()

xmldom* xmldomnode::getTree ( ) const

Returns a pointer to the tree that this node is attached to or NULL if it isn't attached to any tree.

◆ getType()

xmldomnodetype xmldomnode::getType ( ) const

Returns the type of the node.

◆ getValue()

const char* xmldomnode::getValue ( ) const

Returns the value of node.

◆ insertAttribute() [1/2]

bool xmldomnode::insertAttribute ( xmldomnode attribute,
uint64_t  position 
)

Inserts "attribute" into the list of attributes at "position". The position of the next attribute (and all successive attributes) is incremented.

◆ insertAttribute() [2/2]

bool xmldomnode::insertAttribute ( const char *  name,
const char *  value,
uint64_t  position 
)

Creates an attribute node with "name" and "value" and inserts it into the list of attributes at "position". The position of the next attribute (and all successive attributes) is incremented.

◆ insertChild()

bool xmldomnode::insertChild ( xmldomnode child,
uint64_t  position 
)

Inserts "child" into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented.

◆ insertTag() [1/2]

xmldomnode* xmldomnode::insertTag ( const char *  tag,
uint64_t  position 
)

Inserts a new node of type TAG_XMLDOMNODETYPE with name "tag" into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented.

Returns the new node on success or the null node on failure.

◆ insertTag() [2/2]

xmldomnode* xmldomnode::insertTag ( const char *  ns,
const char *  tag,
uint64_t  position 
)

Inserts a new node of type TAG_XMLDOMNODETYPE with namespace "ns" and name "tag" into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented.

Returns the new node on success or the null node on failure.

◆ insertText()

bool xmldomnode::insertText ( const char *  value,
uint64_t  position 
)

Inserts a child node of type TEXT_XMLDOMNODE with value "value" into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented.

◆ insertXml()

bool xmldomnode::insertXml ( const char *  xml,
uint64_t  position 
)

Parses "xml" and inserts the result into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented as appropriate.

Returns true on success or false on failure.

◆ insertXmlFile()

bool xmldomnode::insertXmlFile ( const char *  xmlfile,
uint64_t  position 
)

Parses file "xmlfile" and inserts the result into the list of child nodes at "position". The position of the next sibling (and all successive siblings) is incremented as appropriate.

Returns true on success or false on failure.

◆ isNullNode()

bool xmldomnode::isNullNode ( ) const

Returns true if this node is the special nullnode and false otherwise.

◆ moveChild()

bool xmldomnode::moveChild ( xmldomnode child,
xmldomnode parent,
uint64_t  position 
)

Moves "child" from its current position into the list of child nodes for "parent" at "position".

The behavior is undefined if "child" is not actually a child of this node.

◆ print() [1/2]

void xmldomnode::print ( stringbuffer strb) const

Prints a text representation of the tree starting at this node into "strb".

◆ print() [2/2]

void xmldomnode::print ( filedescriptor fd) const

Prints a text representation of the tree starting at this node to filedescriptor "fd".

◆ renameChildren() [1/2]

bool xmldomnode::renameChildren ( const char *  oldname,
const char *  newname 
)

Finds all child nodes named "oldname" and renames them "newname".

◆ renameChildren() [2/2]

bool xmldomnode::renameChildren ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds all child nodes named "oldname" in namespace "oldns" and renames them "newname" with namespace "newns".

◆ renameChildrenIgnoringCase() [1/2]

bool xmldomnode::renameChildrenIgnoringCase ( const char *  oldname,
const char *  newname 
)

Finds all child nodes named "oldname" (ignoring case) and renames them "newname".

◆ renameChildrenIgnoringCase() [2/2]

bool xmldomnode::renameChildrenIgnoringCase ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds all child nodes named "oldname" in namespace "oldns" (both ignoring case) and renames them "newname" with namespace "newns".

◆ renameDescendents() [1/2]

bool xmldomnode::renameDescendents ( const char *  oldname,
const char *  newname 
)

Finds all descendents named "oldname" and renames them "newname".

◆ renameDescendents() [2/2]

bool xmldomnode::renameDescendents ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds all descendents named "oldname" in namespace "oldns" and renames them "newname" with namespace "newns".

◆ renameDescendentsIgnoringCase() [1/2]

bool xmldomnode::renameDescendentsIgnoringCase ( const char *  oldname,
const char *  newname 
)

Finds all descendents named "oldname" (ignoring case) and renames them "newname".

◆ renameDescendentsIgnoringCase() [2/2]

bool xmldomnode::renameDescendentsIgnoringCase ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds all descendents named "oldname" in namespace "oldns" (both ignoring case) and renames them "newname" with namespace "newns".

◆ renameFirstChild() [1/2]

bool xmldomnode::renameFirstChild ( const char *  oldname,
const char *  newname 
)

Finds the first child node named "oldname" and renames it "newname".

◆ renameFirstChild() [2/2]

bool xmldomnode::renameFirstChild ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds the first child node named "oldname" in namespace "oldns" and renames it "newname" with namespace "newns".

◆ renameFirstChildIgnoringCase() [1/2]

bool xmldomnode::renameFirstChildIgnoringCase ( const char *  oldname,
const char *  newname 
)

Finds the first child node named "oldname" (ignoring case) and renames it "newname".

◆ renameFirstChildIgnoringCase() [2/2]

bool xmldomnode::renameFirstChildIgnoringCase ( const char *  oldns,
const char *  oldname,
const char *  newns,
const char *  newname 
)

Finds the first child node named "oldname" in namespace "oldns" (both ignoring case) and renames it "newname" with namespace "newns".

◆ setAttributeValue() [1/3]

void xmldomnode::setAttributeValue ( const char *  name,
const char *  value 
)

Sets the value of the attribute named "name" to "value". Creates attribute "name" if it didn't previously exist.

◆ setAttributeValue() [2/3]

void xmldomnode::setAttributeValue ( const char *  name,
int64_t  value 
)

Sets the value of the attribute named "name" to "value". Creates attribute "name" if it didn't previously exist.

◆ setAttributeValue() [3/3]

void xmldomnode::setAttributeValue ( const char *  name,
uint64_t  value 
)

Sets the value of the attribute named "name" to "value". Creates attribute "name" if it didn't previously exist.

◆ setData()

void xmldomnode::setData ( void *  data)

Allows an app to associate arbitrary data with the node.

◆ setName() [1/2]

void xmldomnode::setName ( const char *  name)

Sets the node name to "name".

◆ setName() [2/2]

void xmldomnode::setName ( const char *  ns,
const char *  name 
)

Sets the node namespace to "ns" and node name to "name".

◆ setNamespace()

void xmldomnode::setNamespace ( const char *  ns)

Sets the node namespace to "ns".

◆ setNextSibling()

void xmldomnode::setNextSibling ( xmldomnode next)

Sets the next sibling of the node to "next".

◆ setParent()

void xmldomnode::setParent ( xmldomnode parent)

Sets the parent of the node to "parent".

◆ setPreviousSibling()

void xmldomnode::setPreviousSibling ( xmldomnode previous)

Sets the previous sibling of the node to "previous".

◆ setType()

void xmldomnode::setType ( xmldomnodetype  type)

Sets the node type to "type".

◆ setValue()

void xmldomnode::setValue ( const char *  value)

Sets the node value to "value".

◆ unwrapChild()

bool xmldomnode::unwrapChild ( xmldomnode child)

Moves all children of "child" out of "child" and then deletes "child".

The behavior is undefined if "child" is not actually a child of this node.

◆ unwrapChildren() [1/2]

bool xmldomnode::unwrapChildren ( const char *  name)

For each tag child named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapChildren() [2/2]

bool xmldomnode::unwrapChildren ( const char *  ns,
const char *  name 
)

For each tag child in namespace "ns" named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapChildrenIgnoringCase() [1/2]

bool xmldomnode::unwrapChildrenIgnoringCase ( const char *  name)

For each tag child named "name" (ignoring case), moves all children out of the tag, then deletes the tag.

◆ unwrapChildrenIgnoringCase() [2/2]

bool xmldomnode::unwrapChildrenIgnoringCase ( const char *  ns,
const char *  name 
)

For each tag child in namespace "ns" named "name" (both ignoring case), moves all children out of the tag, then deletes the tag.

◆ unwrapDescendents() [1/2]

bool xmldomnode::unwrapDescendents ( const char *  name)

For each tag descendent named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapDescendents() [2/2]

bool xmldomnode::unwrapDescendents ( const char *  ns,
const char *  name 
)

For each tag descendent in namespace "ns" named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapDescendentsIgnoringCase() [1/2]

bool xmldomnode::unwrapDescendentsIgnoringCase ( const char *  name)

For each tag descendent named "name" (ignoring case), moves all children out of the tag, then deletes the tag.

◆ unwrapDescendentsIgnoringCase() [2/2]

bool xmldomnode::unwrapDescendentsIgnoringCase ( const char *  ns,
const char *  name 
)

For each tag descendent in namespace "ns" named "name" (both ignoring case), moves all children out of the tag, then deletes the tag.

◆ unwrapFirstChild() [1/2]

bool xmldomnode::unwrapFirstChild ( const char *  name)

Finds the first tag child named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapFirstChild() [2/2]

bool xmldomnode::unwrapFirstChild ( const char *  ns,
const char *  name 
)

Finds the first tag child in namespace "ns" named "name", moves all children out of the tag, then deletes the tag.

◆ unwrapFirstChildIgnoringCase() [1/2]

bool xmldomnode::unwrapFirstChildIgnoringCase ( const char *  name)

Finds the first tag child named "name" (ignoring case), moves all children out of the tag, then deletes the tag.

◆ unwrapFirstChildIgnoringCase() [2/2]

bool xmldomnode::unwrapFirstChildIgnoringCase ( const char *  ns,
const char *  name 
)

Finds the first tag child in namespace "ns" named "name" (both ignoring case), moves all children out of the tag, then deletes the tag.

◆ wrapChild() [1/2]

xmldomnode* xmldomnode::wrapChild ( xmldomnode child,
const char *  name 
)

Wraps the specified child with a tag named "name". Returns the newly new created tag node.

The behavior is undefined if "child" is not actually a child of this node.

◆ wrapChild() [2/2]

xmldomnode* xmldomnode::wrapChild ( xmldomnode child,
const char *  ns,
const char *  name 
)

Wraps the specified child with a tag named "name" with namespace "ns". Returns the newly new created tag node.

The behavior is undefined if "child" is not actually a child of this node.

◆ wrapChildren() [1/4]

xmldomnode* xmldomnode::wrapChildren ( xmldomnode startchild,
xmldomnode endchild,
const char *  name 
)

Wraps the specified children with a tag named "name". Returns the newly new created tag node.

"startchild" and "endchild" should be children of the current node, and siblings, and not the null node. The position of "endchild" should be >= the position of "startchild". The behavior is undefined if any of these conditions are not met.

◆ wrapChildren() [2/4]

xmldomnode* xmldomnode::wrapChildren ( xmldomnode startchild,
xmldomnode endchild,
const char *  ns,
const char *  name 
)

Wraps the specified children with a tag named "name" with namespace "ns". Returns the newly new created tag node.

"startchild" and "endchild" should be children of the current node, and siblings, and not the null node. The position of "endchild" should be >= the position of "startchild". The behavior is undefined if any of these conditions are not met.

◆ wrapChildren() [3/4]

xmldomnode* xmldomnode::wrapChildren ( const char *  name)

Wraps all children of the current node with a tag named "name". Returns the newly new created tag node.

◆ wrapChildren() [4/4]

xmldomnode* xmldomnode::wrapChildren ( const char *  ns,
const char *  name 
)

Wraps all children of the current node with a tag named "name" with namespace "ns". Returns the newly new created tag node.

◆ xml()

stringbuffer* xmldomnode::xml ( ) const

Allocates a stringbuffer, writes a text representation of the tree starting at this node to it and returns the stringbuffer; The calling program must deallocate the stringbuffer.