What is MIME type "application/x-xml"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/x-xml tells programs that a file contains structured data in XML format.
It signals that the content uses an extensible markup language for storing and exchanging information.
Files of this type are plain text and follow a strict, nested structure that helps both humans and machines process the data quickly.
A file marked as XML often holds data, settings, or configuration details. It may also come in forms that define schemas or styles.
For example, a file with a XSD extension defines rules for validating XML data, while a file with a XSL extension provides instructions for transforming XML into other formats.
Learn more about XML standards at W3C XML.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/x-xml    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/x-xml">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/x-xml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Is application/x-xml a standard MIME type?

No, the x- prefix indicates that this is a non-standard or experimental type often found in older systems. The officially registered standard types for XML are application/xml and text/xml (defined in RFC 7303). You should generally prefer the standard versions unless a specific legacy application requires application/x-xml.

What is the difference between application/x-xml and text/xml?

The primary difference lies in how character encoding is handled. text/xml is treated as a text stream (often defaulting to US-ASCII if not specified), whereas application/ types allow the XML parser to determine the encoding from the file's internal declaration (e.g., <?xml encoding="UTF-8"?>). Using application/x-xml signals that the content is structured data rather than human-readable text.

How do I configure Apache to serve files as application/x-xml?

To force this specific MIME type, add the following line to your .htaccess file or main configuration: AddType application/x-xml .xml. However, for modern compatibility, it is usually better to use AddType application/xml .xml to adhere to current web standards.

Why does my browser download the XML file instead of displaying it?

Browsers are programmed to render standard types like text/xml or application/xml as a collapsible tree. If your server sends the non-standard application/x-xml header, the browser may not recognize it as renderable content and will default to downloading the file. Changing the Content-Type header on the server usually fixes this.

Which file extensions are associated with application/x-xml?

This MIME type is primarily used for standard .xml files. It is also frequently applied to XML Schema Definitions (xsd) and XSL Stylesheets (xsl), as both formats are structurally valid XML used for validation and transformation.

Are there security risks associated with parsing XML files?

Yes, XML parsers can be vulnerable to XXE (XML External Entity) attacks if not configured correctly. An attacker can embed malicious references in the XML structure to access local system files or trigger denial of service. Always disable external entity resolution when processing XML input from untrusted sources.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.