Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Visio VSDX Drawing File Format

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Visio VSDX Drawing File Format
Description

The Visio VSDX Graphics File Format, developed and documented to a substantial degree by Microsoft, carries data that represents diagrams that employ vector graphics and supplementary information related to the creation, modification, and review of a collection of related diagrams. Typical domains of usage include: flowcharts; database schema models; organization charts; plans for building wiring, furniture layout, etc. A VSDX document represents a collection of Drawing Pages, Masters, Shapes, Images, Comments, Data Connections, and recalculation information relating to dynamic data connections. Starting with Visio 2013, this format is the default format for the Visio products for creating diagrams. The VSDX file can also be rendered as a Web Drawing through SharePoint (with Visio Services enabled) starting with SharePoint 2013 and also through an Office 365 plan that includes Visio Services.

The VSDX format is related to the OOXML family of formats, in that a VSDX file is a ZIP-based package that conforms to the Open Packaging Conventions as specified in ISO/IEC29500-2:2011 (see OPC/OOXML_2012), the further packaging restrictions for OOXML documents as specified in clause 9 of ISO/IEC29500-1:2011, and the MS-VSDX documentation.

The conceptual structure of a minimal Visio Drawing includes:

  • VisioDocument - a collection of resources including a sequence of drawing pages
  • Masters - a collection of page layouts shared by several pages, typically as framework or background to elements specific to each page
  • Pages - graphical elements and layout for individual pages
  • Shapes - individual graphical elements and their properties. Shapes may be incorporated into pages or masters. See Notes below for more about properties for shapes.
  • Data connections - specifying how data can be retrieved from external sources to affect various aspects of a drawing, including its visual appearance.

The package structure for a VSDX file may have many parts, including:

  • document.xml -- part that holds properties of the drawing needed for rendering or editing, such as style sheets, colors, and fonts used in the drawing.
  • masters/masters.xml -- list of master page layouts
  • masters/master1.xml, masters/master2.xml, ... -- individual master page layouts
  • pages/pages.xml -- list of drawing pages
  • pages/page1.xml, pages/page2.xml, ... layouts and graphical elements for individual pages
  • data/connections.xml -- specifications for any connections to remote data
  • data/recordsets.xml -- each record set holds data retrieved most recently via a particular connection. The data is arranged in rows and columns to allow a row of field values to be associated with a particular shape instance.
  • comments.xml -- text for comments on the drawing

The same markup and schema can be used to produce stencils and templates for use with Visio or other graphic applications that support VSDX. A Visio drawing file uses the extension .vsdx. Stencils, using the extension .vssx, are collections of shapes and icons considered useful for a particular type of diagram, such as flowcharts or room plans. Stencils can be loaded into the Visio interface for convenient use. Templates, using the extension .vstx, are drawings intended for repeated use as the basis for a common type of diagram, for example, a map of counties in a state or the bracket for a sports tournament. There is a market for third-party stencils and templates; some are sold and others are made freely available. These three diagram types are not permitted to incorporate macros. Three separate extensions are used for macro-enabled drawings: .vsdm, .vssm, and .vstm.

Production phase Can be used in any production phase. Particularly used for creating documents (initial state) and for editing and review (middle-state). For final-state use, editable documents are often converted to an image format that is designed for final publication and not for convenient editing.
Relationship to other formats
    Subtype of OPC/OOXML_2012, Open Packaging Conventions (Office Open XML), ISO 29500-2:2008-2012
    Has earlier version VSD, a binary format used as the default drawing format by Visio prior up to and including Visio 2010. Not described separately on this site at this time. See Notes - History below.
    Has earlier version VDX, VSX, and VTX, a trio of XML-based formats introduced with Visio 2002 and superseded by VSDX with Visio 2013. See Notes - History below.
    Has modified version Associated formats for templates using extension .vstx, and for stencils using extension .vssx, not described separately on this website. Templates and stencils are based on the same schema and namespaces as a .vsdx file. The difference is in intended use. See File type signifiers below.
    Affinity to Associated format for drawings, templates, and stencils or templates with embedded macros, using file extensions .vsdm, vssm and .vstm, not described separately at this website. The language used by Microsoft for macros, VBA, is fully documented by Microsoft. Macros are embedded as parts in the OPC package.

Local use Explanation of format description terms

LC experience or existing holdings  
LC preference  

Sustainability factors Explanation of format description terms

Disclosure

The VSDX format was developed as a proprietary format by Microsoft. Microsoft provides a public, descriptive specification for a ''Web Drawing," which is a Visio file hosted in a SharePoint web "part" and for which SharePoint supports special but limited functionality. For example, a Web Drawing can be updated by refreshing with updated date from an external source. Formats supported by SharePoint Services are covered by the Microsoft Interoperability Program. The aspects of the file related to behavior on SharePoint are described fully in the public specification, but things that only have relevance in the editing interface of a Visio client are not fully described. A full schema for VSDX is provided by Microsoft.

    Documentation

[MS-VSDX]: Visio Graphics Service VSDX File Format is a description of the aspects of the VSDX format manipulable via SharePoint Services. In this description, the definition for many XML complex types indicates that the type "is unused and MUST be ignored". This indication applies only to the context of a Web Drawing in SharePoint. In the context of a Visio editor, these parts of the VSDX schema will come into play. The XML Schema for the full format is provided as Appendix A.

Microsoft also provides information for Visio developers and a Visio file format reference. This file format reference, designed to support use of the Visio Software Development Kit, incorporates less explanatory description than [MS-VSDX].

Adoption

The VSDX format is the default format in Microsoft Visio 2013, Microsoft Visio 2016, and Microsoft SharePoint Server 2013.

According to a November 2012 blog post from libregraphics.org, support for Visio documents in VSD file format was added to LibreOffice in 2011 and by late 2012, with the latest release of libvisio, VDX and VSDX files could also be opened. As of March 2015, according to Comparing LibreOffice and Apache OpenOffice from http://www.nouenoff.nl/ (likely partisan), AOO did not support VSDX.

The market position of Visio and adoption of the VSDX format is reflected by the importance other graphics applications place on support for the Visio formats, including VSDX and its predecessors. Since version 10 (released August 2014), ConceptDraw PRO has supported round trip import and export of the VSDX format. OmniGraffle Pro can import and export VSDX files, although some features of Visio that support CAD-CAM are not relevant for the OmniGraffle application. LucidChart is a browser-based application for creating or viewing diagrams that offers import and export of Visio drawings.

Several libraries exist to work programmatically with VSDX files:

  • Microsoft released a Visio Software Development Kit (SDK) in February 2013 to permit programmatic creation and modification of VSDX files.
  • libvisio was developed for LibreOffice to parse all versions of Microsoft Visio documents.
  • poi-visio is a Java library that loads Visio OOXML (vsdx) files in read-only mode, with support for traversing the content of the document in a structured way and rendering pages to simplified PNG files, or other display formats supported by Java Abstract Window Toolkit (AWT). poi-visio is built using the Apache POI library which operates on Microsoft OOXML documents (docx, pptx, xlsx).
  • The Diagramming for Java Swing library from MindFusion supports import and limited export of drawings in VSDX format.

Microsoft has made available Visio Viewer. This viewer is implemented as an ActiveX control that loads and renders Visio drawings inside Internet Explorer.

    Licensing and patents

In 2009, Microsoft entered into an agreement with the European Union. See Microsoft Statement on European Commission Decision. Part of this agreement was "a 'public undertaking' that covers interoperability with Microsoft’s products—the way our high-share products work with non-Microsoft technologies. This applies to an important set of Microsoft’s products—our Windows, Windows Server, Office, Exchange, and SharePoint products."

The Microsoft Interoperability Program (MIP) that covers the [MS-VSDX] specification does not guarantee a royalty-free license covering all relevant patents. Microsoft indicates that use of the [MS_VSDX] specification may take advantage of its U.S. Patent 8825722 "Calculations of properties of objects/shapes across version of application." However, Microsoft does promise not to assert claims against open source software developers that comply with certain conditions, including not distributing code commercially. Microsoft also encourages use of its own programming tools and environments. For VSDX, Microsoft makes available a Software Development Kit that is compatible with its Visual Studio programming environment.

Transparency

The structure and text of a VSDX file are all represented in XML and hence viewable without special tools, although XML-aware tools that can show the element hierarchy make viewing and interpretation more convenient. The most commonly used parts, elements, and attributes have recognizable names. However, interpreting the semantics of some elements and the correspondence of some elements and attributes to graphics functionality will require understanding of the schema, the textual specification, and the operational functionality of the Visio application. The semantics of the data connections and record sets is particularly complex, requiring understanding of the syntax involved in connectivity mechanisms in use. See Notes below.

The transparency of any embedded image, audio, and video files depends on the formats of those files.

For transparency of the package containing the constituent parts of the DOCX file, see OPC/OOXML_2012.

Self-documentation See OPC/OOXML_2012.
External dependencies

Depends on features used. Visio documents can include links to externally stored data. Dynamic graphical elements have visual properties that are bound to data in a data source, and the appearance of these elements changes as data in the data source refreshes. Data bindings may break when VSDX documents are transferred to other contexts. The format allows graphics to be displayed based on the data as last accessed.

VSDX diagrams may also depend on external third-party "Solutions," typically program code developed in Visual Studio.

Technical protection considerations

Promotional literature for Visio 2016 says, "Visio 2016 now supports Information Rights Management (IRM) and lets you control document rights at the individual user level." The compilers of this resource have not ascertained how this feature is implemented. Comments welcome.


Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering Good support for panning, zooming, etc.
Clarity (high image resolution) Scalable.
Color maintenance

A color value in a web drawing can be specified as either a 3-byte representation of an RGB value or an integer that points to an entry in a user-defined color table. In the 3-byte representation, "the most significant byte of color-value specifies the intensity of the color red. The second most significant byte of color-value specifies the intensity of the color green. The least significant byte of color-value specifies the intensity of the color blue." There is no mention of ICC Profiles in the public specifications for VSDX.

Support for vector graphics, including graphic effects and typography Rich support for vector graphics.
Support for multispectral bands Not applicable
Functionality beyond normal rendering

Good support for co-authoring is an important feature of VSDX. Support for attaching comments, and also for suggested visual changes in a separate Track Markup layer for each user. Support for recording settings and user choices relating to Visio editing environment. Incorporates information about interactive controls exposed to users. May include information about macros and other extensions. Application-specific (aka solution-specific) data can be stored in a solutions.xml file.


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension vsdx
Several closely related filetypes have different extensions: .vssx for Visio stencils (collections of graphical elements appropriate for certain tasks, such as flow-charts, floor plans, or database schema diagrams); .vstx for a drawing template; and .vsdm, .vssm, and .vstm for the same document categories but allowing embedded macros. All are based on the same markup and the same XML schema.
Internet Media Type application/vnd.visio
application/vnd.visio2013
From https://www.file-extensions.org/vsdx-file-extension.
Internet Media Type application/vnd.ms-visio.drawing
From Apache TIKA. See http://www.digipres.org/formats/sources/tika/formats/#application/vnd.ms-visio.drawing
Pronom PUID fmt/924
See http://www.nationalarchives.gov.uk/PRONOM/fmt/924.
Other "application/vnd.ms-visio.drawing.main+xml"
This internal signifier is provided in the PRONOM entry for VSDX. To locate it, the ZIP-based container must first be unzipped. It is the value for ContentType for the main document part, typically named "/visio/document.xml". This value is found in [Content_Types].xml at the top level of the OPC package for a VSDX file, in markup similar to <Override PartName="/visio/document.xml" ContentType="application/vnd.ms-visio.drawing.main+xml"/>

Notes Explanation of format description terms

General

Properties of shapes: The key conceptual element of a diagram is a shape. Every shape in Visio has a spreadsheet, known as a ShapeSheet, where information about the shape is stored. This spreadsheet contains properties such as height, width, angle, color, and other attributes that determine the shape's appearance and behavior. ShapeSheets are also stored for other Visio objects, including documents, pages, styles, shapes, groups of shapes, etc. Shapes may have associated user-defined data fields.

Data Connections: Among the sources from which data can be brought dynamically into Visio diagrams are: Excel workbooks; SQL Server tables and views; SharePoint lists; and database resources connected via OLEDB or ODBC (SQL) drivers.

Saving Visio drawings: In addition to allowing export in static image formats or PDF, Visio has a Save as Web Page feature, which was introduced in Visio 2002. This provides users with a simple way of publishing Visio documents on the Web. The resulting page is an HTML version of the drawing, including shape data and multiple drawing pages, if applicable. Supporting files include the graphics files (GIFs and JPGs), script files, data (XML) files, and cascading style sheet (CSS) files.

Extensibility: VSDX permits the use of capabilities supported by MCE/OOXML_2012, Markup Compatibility and Extensibility in a way that permits current applications that support VSDX to handle markup extensions for features added in future versions of Visio. See [MS-VSDX] 2.3.5 Markup Compatibility Schema. The compilers of this resource have not determined whether Microsoft has made use of MCE as of Visio 2016. Comments welcome.

History

Visio was originally developed by the Shapeware Corporation in 1992. Shapeware was renamed Visio Corporation in 1995. Microsoft acquired Visio Corporation in January 2000 and rebranded the Visio product the same year.

Visio 2003, 2007 and 2010 all used the same proprietary binary Visio Drawing (VSD) file format. The Save a Visio file as an earlier version help file for Visio 2013 describes the earlier version as "Visio 2003-2010 Drawing (*.vsd)." The compilers of this resource have been unable to determine whether the VSD format used by earlier versions of Visio and for which a MIME type was registered by the Visio Corporation in 1997 was compatible with that used in Visio 2003 through 2010. Comments welcome. Visio 2002 had introduced an XML-based drawing format (VDX) which allowed developers to modify the contents of a file outside Visio. By Visio 2007, the VDX implementation had changed enough that files needed to be converted to a new VDX variant. The Overview of DatadiagramML for Office 2007 states, "You can open a .vdx file created in Microsoft Visio 2002 in Microsoft Office Visio 2007. Visio will automatically convert the file to the newer format." Visio 2010 introduced additional formats: the Visio Web Drawing (VDW), Visio Workflow Interchange (VWI) format. The VSDX format introduced with Visio 2013 encompasses the capabilities provided by these supplementary Visio 2010 formats as well as replacing both the binary VSD format and the earlier XML-based format VDX.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 02/16/2017