What is MIME type "text/xsl"?

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

The MIME type text/xsl indicates a file written in the XSL standard. It is mainly used to transform XML data into other formats, such as HTML or plain text. This process is known as XSL Transformations (XSLT).
Files with XSL, XSLT, FO, or XSLFO contain rules that direct these transformations.

For more technical details, check out the W3C XSL Overview.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/xsl    
  

HTML

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


    <a href="file.dat" type="text/xsl">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', 'text/xsl');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

Is text/xsl the official MIME type for XSLT files?

Technically, no; the IANA registered standard is application/xslt+xml. However, text/xsl was popularized by early versions of Internet Explorer and remains widely supported by browsers for backward compatibility. Many developers still use it to ensure styles render correctly across older legacy systems.

How do I configure Apache or Nginx to serve text/xsl?

For Apache, add AddType text/xsl .xsl .xslt to your .htaccess or configuration file. For Nginx, ensure your mime.types file includes the line text/xsl xsl xslt; inside the types block to correctly serve .xsl and .xslt files.

How do I link an XSL stylesheet to an XML document?

You must add a processing instruction at the very top of your XML file, before the root element. Use the syntax: <?xml-stylesheet type="text/xsl" href="style.xsl"?>. This instructs the web browser to use the specified text/xsl file to transform the XML data into HTML for viewing.

Why does my XSLT fail to load when opening files locally?

Modern browsers (like Chrome and Firefox) block XSLT files loaded via the file:// protocol due to Same Origin Policy security restrictions. To successfully test your transformations, you must serve both the XML and the .xsl file through a local web server (e.g., http://localhost).

What is the difference between text/xsl and application/xml?

While text/xsl specifically indicates a stylesheet intended for transformation, application/xml is a generic type indicating the file contains XML data. Since XSLT files are themselves valid XML, they can be served as application/xml, but text/xsl (or application/xslt+xml) is more descriptive regarding the file's intent.

Are there security risks associated with text/xsl files?

Yes, XSLT documents can be vulnerable to Cross-Site Scripting (XSS) if they output unsanitized data into HTML. Because XSLT can generate scripts, you should treat user-supplied XML/XSL input as untrusted and ensure your server implements a strong Content-Security-Policy.

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.