'Verifies that the specified element does not have  attribute ``name``.
The element whose attribute is verified is specified using ``source``
and ``xpath``. They have exactly the same semantics as with
`Get Element` keyword.
The keyword fails if the specified element has attribute ``name``. The
default error message can be overridden with the ``message`` argument.
Examples using ``${XML}`` structure from `Example`:
| Element Should Not Have Attribute | ${XML} | id  |
| Element Should Not Have Attribute | ${XML} | xxx | xpath=first |
See also `Get Element Attribute`, `Get Element Attributes`,
`Element Text Should Be` and `Element Text Should Match`.'

def element_should_not_have_attribute(self, source, name, xpath='.', message=None):

    attr = self.get_element_attribute(source, name, xpath)
    if (attr is not None):
        raise AssertionError((message or ("Attribute    '%s'    exists    and    has    value    '%s'." % (name, attr))))
