Comparison of the freedesktop.org shared-mime-info spec and mime-support (mailcap, etc.)

mime-support shared-mime-info-spec/desktop-entry-spec
create a file type global

by file extension: edit /etc/mime.types

by magic: edit /etc/magic.mime

by xml namespace: not possible

drop a file into $XDG_DATA_DIRS/packages and run update-mime-database
per-user

by file extension: edit ~/.mime.types

by magic: not possible

by xml namespace: not possible

drop a file into $XDG_DATA_HOME/packages and run update-mime-database
file type metadata description not strictly possible; a description can be defined but it is defined at the level of a filetype+application association included in the file type definition
translations not possible
icons not possible not specified; some implementations (e.g., GNOME's Nautilus file manager) will load an icon with a name derived from the name of the filetype
create an application+filetype association global edit /etc/mailcap (on Debian, drop a file into /usr/lib/mime/packages and run update-mime)

drop a file into $XDG_DATA_DIRS/applications

run update-desktop-database (mentioned only in old versions of the spec)

create an application+filetype association per-uer

edit ~/.mailcap

drop a file into $XDG_DATA_HOME/applications

run update-desktop-database (mentioned only in old versions of the spec)

determine which filetype+application association to use ? a conflict resolution procedure is specified; however it is up to each desktop environment to maintain a list of the user's preferences in this regard