'Removes all elements matching ``xpath`` from the ``source`` structure.
The elements to remove from the ``source`` are specified with ``xpath``
using the same semantics as with `Get Elements` keyword. The resulting
XML structure is returned, and if the ``source`` is an already parsed
XML structure, it is also modified in place.
It is not a failure if ``xpath`` matches no elements. Use `Remove
Element` to remove exactly one element.
Element\'s tail text is not removed by default, but that can be changed
by using ``remove_tail`` argument similarly as with `Remove Element`.
Examples using ``${XML}`` structure from `Example`:
| Remove Elements          | ${XML} | xpath=*/child      |
| Element Should Not Exist | ${XML} | xpath=second/child |
| Element Should Not Exist | ${XML} | xpath=third/child  |'

def remove_elements(self, source, xpath='', remove_tail=False):

    source = self.get_element(source)
    for element in self.get_elements(source, xpath):
        self._remove_element(source, element, remove_tail)
    return source
