'Sets the tag of the specified element.
The element whose tag to set is specified using ``source`` and
``xpath``. They have exactly the same semantics as with `Get Element`
keyword. The resulting XML structure is returned, and if the ``source``
is an already parsed XML structure, it is also modified in place.
Examples using ``${XML}`` structure from `Example`:
| Set Element Tag      | ${XML}     | newTag     |
| Should Be Equal      | ${XML.tag} | newTag     |
| Set Element Tag      | ${XML}     | xxx        | xpath=second/child |
| Element Should Exist | ${XML}     | second/xxx |
| Element Should Not Exist | ${XML} | second/child |
Can only set the tag of a single element. Use `Set Elements Tag` to set
the tag of multiple elements in one call.'

def set_element_tag(self, source, tag, xpath='.'):

    source = self.get_element(source)
    self.get_element(source, xpath).tag = tag
    return source
