MIME Types for XML

XML is indeed the most powerful standard metadata language ever. Its uses span a wide range of applications, rising the problem of distinguishing what type of application we are dealing with.

MIME Types are the de-facto Internet standard to classify content. For instance, they are used by e-mail clients to identify the content of a message and an attachment, and by web browsers to determine the content of an HTTP response.
More than one application can be associated with a MIME Type. In that case, the user can choose which one will be used by default. If no application is associated, then the user may be asked what to do.

The default MIME Type for XML is text/xml which tells nothing about the actual content of an XML Document. Therefore, text/xml should be avoided whenever possible. Instead, new MIME Types should be defined for specific applications.
In particular, MIME Types for XML Documents should identify both the specific and the generic content, so that they can be associated with an application or just treated as raw XML. For example, image/svg+xml is used for generating Scalable Vector Graphics files, which in fact contain XML.

Even if XML has rapidly become very popular, the use of specific MIME Types for XML applications hasn’t grown in proportion. For example, application/xhtml+xml has not been widely adopted for XHTML documents because it is not yet supported by Internet Explorer. Besides, application/rss+xml is very little used for RSS news feeds which are often served up as text/xml or even text/plain, thus preventing their association with news aggregators.