'Verifies that the given ``source`` element matches ``expected``.
This keyword works exactly like `Elements Should Be Equal` except that
texts and attribute values in the expected value can be given as
patterns.
Pattern matching is similar as matching files in a shell, and it is
always case-sensitive. In the pattern, \'*\' matches anything and \'?\'
matches any single character.
Examples using ``${XML}`` structure from `Example`:
| ${first} =            | Get Element | ${XML} | first          |
| Elements Should Match | ${first}    | <first id="?">*</first> |
See `Elements Should Be Equal` for more examples.'

def elements_should_match(self, source, expected, exclude_children=False, normalize_whitespace=False):

    self._compare_elements(source, expected, should_match, exclude_children, normalize_whitespace)
