Can Vim autocommand be triggered by filetype instead of by pattern?

You could do something like au BufEnter * if &ft ==# 'xml' | commands | endif