Added support for [!attr] and [attr!=value]