What is MIME type "application/vnd.ms-visio.template.macroenabled.main+xml"?

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

The MIME type application/vnd.ms-visio.template.macroenabled.main+xml defines a Visio template that supports macros. It is used to create a reusable diagram framework in Microsoft Visio and is saved in an XML format.


Files with this MIME type use the VSTM extension. This format is common in Microsoft Visio 2013 and later.



The XML structure supports flexibility and easier data management. Macros add custom functionality that can automate complex tasks. For more details on MIME types, visit MIME on Wikipedia.


For additional insights on Visio file types, check out Microsoft Support.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/vnd.ms-visio.template.macroenabled.main+xml    
  

HTML

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


    <a href="file.dat" type="application/vnd.ms-visio.template.macroenabled.main+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/vnd.ms-visio.template.macroenabled.main+xml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the primary purpose of the application/vnd.ms-visio.template.macroenabled.main+xml MIME type?

This MIME type represents a Microsoft Visio Macro-Enabled Template file, typically saved with the .vstm extension. It allows users to create new diagrams based on a pre-configured template that includes VBA macros for automating tasks.

How do I configure an Apache server to serve .vstm files correctly?

To ensure your Apache server sends the correct headers, add the following line to your .htaccess file or main configuration: AddType application/vnd.ms-visio.template.macroenabled.main+xml .vstm. This prevents browsers from misinterpreting the file as a generic zip or XML file.

Can web browsers render this Visio file type natively?

No, standard web browsers like Chrome or Firefox cannot display Visio files natively. When a user clicks a link serving this MIME type, the browser will usually prompt the user to download the file to open it in the desktop Microsoft Visio application.

Are there security risks associated with this MIME type?

Yes, because this format is macro-enabled, it can contain executable scripts (VBA). These scripts can potentially harbor malware, so users should only download and open .vstm files from trusted sources.

What is the difference between this type and application/vnd.ms-visio.template?

The standard template type (associated with .vstx) does not support macros for security reasons. The application/vnd.ms-visio.template.macroenabled.main+xml type is explicitly required when the template contains automation code or scripts.

How do I add support for this MIME type in Nginx?

You should update your mime.types file or the http block of your nginx.conf. Add the following entry inside the types block: application/vnd.ms-visio.template.macroenabled.main+xml vstm;.

Is this file format binary or text-based?

This format is based on Office Open XML. While the file itself acts like a compressed archive (Zip) containing multiple XML components, the structure is defined by XML standards rather than the proprietary binary format used in older versions of Visio (pre-2013).

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.