Most Emacs users know how to associate a file type with a major mode by using the
auto-mode-alist variable to associate a file extension with a major mode. I recently learned of another way thanks to Xah Lee who posted a note on associating files with a major mode.
It turns out that you can use the beginning of a file to associate it with a major mode in much the same way that the Unix
file command determines the type of file from the first few bytes of the file. To do this you add a cons of a regular expression matching the beginning of the file and the major mode to invoke to the
magic-mode-alist variable. Lee gives this example to invoke
(add-to-list 'magic-mode-alist '("<!DOCTYPE html .+DTD XHTML .+>" . nxml-mode))
Emacs checks the
magic-mode-alist variable before checking
auto-mode-alist so the beginning of file check takes precedence. You can also specify a function instead of the regex to deal with situations too complex for a regular expression.
Lee's post has a nice summary of all the ways Emacs can associate a major mode with a file so you should give it a look.