Vector Markup Language

Last updated
Vector Markup Language
Filename extension .htm or .html
Internet media type
application/vnd.openxmlformats-officedocument.vmlDrawing
Developed by Microsoft
Type of format Vector image format
Extended from XML
Standard Part of ECMA-376 and ISO/IEC 29500:2008
Website ECMA-376, ISO/IEC 29500-4:2012

Vector Markup Language (VML) is an obsolete XML-based file format for two-dimensional vector graphics. It was specified in Part 4 of the Office Open XML standards ISO/IEC 29500 and ECMA-376. According to the specification, VML is a deprecated format included in Office Open XML for legacy reasons only. [1] [2]

Contents

VML was used extensively in MS Office 2007 Word, Excel and PowerPoint documents. [1] [3] [4] In 2012, with the release of Internet Explorer 10, VML became obsolete and is no longer supported by Internet Explorer standard mode. [5] It is a legacy feature that is available in Internet Explorer 10 only when the browser is set to run in modes that emulate the functionality of previous versions of Internet Explorer 6, 7, 8, and 9.

History

VML was submitted to the World Wide Web Consortium (W3C) in 1998 by Autodesk, Hewlett-Packard, Macromedia, Microsoft, and Vision. [6] Around the same time other competing W3C submissions were received in the area of web vector graphics, such as Precision Graphics Markup Language (PGML) from Adobe Systems, Sun Microsystems, and others. [7] As a result of these submissions, a new W3C working group was created, which produced Scalable Vector Graphics (SVG). SVG became a W3C Recommendation in 2001 as a language for describing two-dimensional vector and mixed vector/raster graphics in XML. [8] VML has been largely deprecated in favor of other formats, such as SVG. [9] SVG is not compatible with VML. [10]

Development of the format ceased in 1998. [11] VML is implemented in Internet Explorer from version 5 to version 9 and in Microsoft Office 2000. VML is no longer available in Internet Explorer 10. [12] Microsoft expects web sites to transition to SVG. [13] Version 2 of the Google Maps JavaScript API used to use VML for vector paths on Internet Explorer 5.5+, [14] but has been officially deprecated in favour of version 3, which does not. [15]

Syntax

Below is a VML instance as produced by Microsoft Excel 2010:

<xmlxmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"><o:shapelayoutv:ext="edit"><o:idmapv:ext="edit"data="1"/></o:shapelayout><v:shapetypeid="_x0000_t202"coordsize="21600,21600"o:spt="202"path="m,l,21600r21600,l21600,xe"><v:strokejoinstyle="miter"/><v:pathgradientshapeok="t"o:connecttype="rect"/></v:shapetype><v:shapeid="_x0000_s1025"type="#_x0000_t202"style='position:absolute;  margin-left:203.25pt;margin-top:82.5pt;width:108pt;height:59.25pt;z-index:1;  visibility:hidden'fillcolor="#ffffe1"o:insetmode="auto"><v:fillcolor2="#ffffe1"/><v:shadowon="t"color="black"obscured="t"/><v:patho:connecttype="none"/><v:textboxstyle='mso-direction-alt:auto'><divstyle='text-align:left'></div></v:textbox><x:ClientDataObjectType="Note"><x:MoveWithCells/><x:SizeWithCells/><x:Anchor>4,15,5,10,6,31,9,9</x:Anchor><x:AutoFill>False</x:AutoFill><x:Row>6</x:Row><x:Column>3</x:Column></x:ClientData></v:shape></xml>

Note that, by specifying a root element named "xml", VML contravenes the XML Recommendation of the W3C, which states that names beginning 'x' 'm' 'l' are "reserved for standardization in this or future versions of this specification". [16]

VML oval in Internet Explorer Ovale.gif
VML oval in Internet Explorer
VML Webart example VMLJoconde.jpg
VML Webart example

VML, when embedded within HTML markup, is read and processed by Microsoft Internet Explorer (but not other browsers); for example, the following example displays a solid blue oval:

<htmlxmlns:v><style>v\:*{behavior:url(#default#VML);position:absolute}</style><body><v:ovalstyle="left:0;top:0;width:100;height:50"fillcolor="blue"stroked="f"/></body></html>

Implementations

VML is used by most Microsoft Office applications, such as Microsoft Word and Microsoft Visio, within HTML files created using the 'Save As HTML' option (plain HTML or MHT). Such files retain complete vector information, and can be reopened for editing using other Microsoft applications, such as Microsoft PowerPoint. VML was natively supported by Microsoft's Internet Explorer up to version 9 inline within HTML, using an undefined version of SGML namespaces. Support for VML was dropped in Internet Explorer 10 and subsequent versions. [18]

Support for "ink annotations" in Office Open XML files was added to LibreOffice during the 3.7 development cycle. [19]

VML is not natively supported by most web browsers. Web browsers such as Mozilla Firefox, Opera, Safari or Google Chrome support Scalable Vector Graphics (SVG) instead of VML.

Microsoft Outlook HTML email rendering

Though VML is deprecated as a standard in Internet Explorer, it is most commonly used in relation to the development of HTML emails rendered in Microsoft Outlook 2007, 2010, and 2013. The use of background-images in email campaigns requires the use of VML to be displayed in Outlook because Outlook does not support the CSS or HTML attributes for background-images.

Full width table cell background images

<htmlxmlns:v="urn:schemas-microsoft-com:vml"><head><style>v:*{behavior:url(#default#VML);display:inline-block;}</style></head><body><tablewidth="100%"height="20"><tr><tdbgcolor="#dddddd"style="background-image:url('http://placekitten.com/g/500/300');background-repeat:no-repeat;background-position:center;"background="http://placekitten.com/g/500/300"width="100%"height="300"><!--[if gte mso 9]>            <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:300px;">                <v:fill type="frame" src="http://placekitten.com/g/500/300" color="#ffffff" />            </v:rect>            <![endif]--></td></tr></table></body></html>

Tiled full width table cell background images

<htmlxmlns:v="urn:schemas-microsoft-com:vml"><head><style>v:*{behavior:url(#default#VML);display:inline-block;}</style></head><body><tablewidth="100%"height="20"><tr><tdbgcolor="#dddddd"style="background-image:url('http://placekitten.com/g/500/300');background-repeat:no-repeat;background-position:center;"background="http://placekitten.com/g/500/300"width="100%"height="300"><!--[if gte mso 9]>            <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:300px;">                <v:fill type="tile" src="http://placekitten.com/g/500/300" color="#ffffff" />            </v:rect>            <![endif]--></td></tr></table></body></html>

Specified width table cell background images

<htmlxmlns:v="urn:schemas-microsoft-com:vml"><head><style>v:*{behavior:url(#default#VML);display:inline-block;}</style></head><body><tablewidth="600"border="0"cellpadding="0"cellspacing="0"style="border-collapse: collapse;"><tr><tdstyle="width: 300px; height: 80px; background-image: url('http://placekitten.com/g/300/80');"><!--[if gte mso 9]>            <v:image xmlns:v="urn:schemas-microsoft-com:vml" id="theImage" style='behavior: url(#default#VML); display: inline-block; position: absolute; width: 300px; height: 80px; top: 0; left: 0; border: 0; z-index: 1;' src="http://placekitten.com/g/300/80" />                <v:shape xmlns:v="urn:schemas-microsoft-com:vml" id="theText" style='behavior: url(#default#VML); display: inline-block; position: absolute; width: 300px; height: 80px; top: -5; left: -10; border: 0; z-index: 2;'>                <div>             <![endif]--><tablewidth="300"border="0"cellspacing="0"cellpadding="0"style="border-collapse: collapse;"><tr><tdheight="80"align="center"valign="top"style="color:#ffffff;font-size:20px;"><span>Text</span></td></tr></table><!--[if gte mso 9]>                 </div>                 </v:shape>             <![endif]--></td></tr></table></body></html>

See also

Related Research Articles

A document type definition (DTD) is a specification file that contains set of markup declarations that define a document type for an SGML-family markup language. The DTD specification file can be used to validate documents.

<span class="mw-page-title-main">Markup language</span> Modern system for annotating a document

A markuplanguage is a text-encoding system which specifies the structure and formatting of a document and potentially the relationship between its parts. Markup can control the display of a document or enrich its content to facilitate automated processing.

Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium since 1999.

<span class="mw-page-title-main">Synchronized Multimedia Integration Language</span> XML-based markup language for multimedia presentations

Synchronized Multimedia Integration Language ) is a World Wide Web Consortium recommended Extensible Markup Language (XML) markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities to HTML.

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

XML Linking Language, or XLink, is an XML markup language and W3C specification that provides methods for creating internal and external links within XML documents, and associating metadata with those links.

Web standards are the formal, non-proprietary standards and other technical specifications that define and describe aspects of the World Wide Web. In recent years, the term has been more frequently associated with the trend of endorsing a set of standardized best practices for building web sites, and a philosophy of web design and development that includes those methods.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap. HTML5 Canvas also helps in making 2D games.

RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.

The SVG Working Group is a working group created by the World Wide Web Consortium (W3C) to address the need for an alternative to the PostScript document format. The PostScript format was unable to create scalable fonts and objects without creating files which were inordinately larger than a file which used unscalable fonts and objects.

The Microsoft Office XML formats are XML-based document formats introduced in versions of Microsoft Office prior to Office 2007. Microsoft Office XP introduced a new XML format for storing Excel spreadsheets and Office 2003 added an XML-based format for Word documents.

A Formal Public Identifier (FPI) is a short piece of text with a particular structure that may be used to uniquely identify a product, specification or document. FPIs were introduced as part of Standard Generalized Markup Language (SGML), and serve particular purposes in formats historically derived from SGML. Some of their most common uses are as part of document type declarations (DOCTYPEs) and document type definitions (DTDs) in SGML, XML and historically HTML, but they are also used in the vCard and iCalendar file formats to identify the software product which generated the file.

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages which mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format is possible through various means:

The Office Open XML file formats are a set of file formats that can be used to represent electronic office documents. There are formats for word processing documents, spreadsheets and presentations as well as specific formats for material such as mathematical formulas, graphics, bibliographies etc.

The Web platform is a collection of technologies developed as open standards by the World Wide Web Consortium and other standardization bodies such as the Web Hypertext Application Technology Working Group, the Unicode Consortium, the Internet Engineering Task Force, and Ecma International. It is the umbrella term introduced by the World Wide Web Consortium, and in 2011 it was defined as "a platform for innovation, consolidation and cost efficiencies" by W3C CEO Jeff Jaffe. Being built on The evergreen Web has allowed for the addition of new capabilities while addressing security and privacy risks. Additionally, developers are enabled to build interoperable content on a cohesive platform.

Multimodal Architecture and Interfaces is an open standard developed by the World Wide Web Consortium since 2005. It was published as a Recommendation of the W3C on October 25, 2012. The document is a technical report specifying a multimodal system architecture and its generic interfaces to facilitate integration and multimodal interaction management in a computer system. It has been developed by the W3C's Multimodal Interaction Working Group.

References

  1. 1 2 "Is VML in or out now, or was that a typo?". 2007-06-22. Archived from the original on 2008-06-21. Retrieved 2010-07-29.
  2. "Ecma TC45 - New proposed dispositions extend progress in addressing all National Body comments, seek to document and resolve legacy issues – Nearly 2/3 of comments now reviewed". 2007-12-21. Retrieved 2010-07-29.
  3. Stephane Rodriguez (2007-09-04). "Microsoft Office XML formats ? Defective by design".
  4. Yegor Kozlov. "POI API Documentation — Class XSSFVMLDrawing". Apache Software Foundation. Retrieved 2010-07-29.
  5. Microsoft. "VML is no longer supported".
  6. Mathews, Brian; Brian Dister; John Bowler; Howard Cooper stein; Ajay Jindal; Tuan Nguyen; Peter Wu; Troy Sandal (13 May 1998). "Vector Markup Language (VML)". W3C . Retrieved 2009-05-08.
  7. Al-Shamma, Nabeel; Robert Ayers; Richard Cohn; Jon Ferraiolo; Martin Newell; Roger K. de Bry; Kevin McCluskey; Jerry Evans (10 April 1998). "Precision Graphics Markup Language (PGML)". W3C . Retrieved 2009-05-08.
  8. W3C (2001-09-04). "Scalable Vector Graphics (SVG) 1.0 Specification" . Retrieved 2010-07-29.{{cite web}}: CS1 maint: numeric names: authors list (link)
  9. Dennis Forbes (July 2003). "Vector Graphics". MSDN Magazine. Retrieved 2010-07-29.
  10. "VML — Vector Graphics on the Internet". July 2001. Retrieved 2010-07-29.
  11. Jon Frost; Stefan Goessner; Michel Hirtzler (2003). Learn SVG: the web graphics standard. p. 7. ISBN   0-9741773-0-X. Support for Microsoft's submission, VML, has been realized in Internet Explorer, but development stopped in the autumn of 1998.
  12. "Internet Explorer 10 Compatibility Cookbook (Windows)". MSDN . Microsoft. 1 October 2012. Retrieved 28 November 2012.
  13. Seth McEvoy (2010-03-16), VML to SVG Migration Guide, Microsoft, retrieved 2010-07-29
  14. "Map Overlays — Drawing Polylines". Google Maps API — version 2. Retrieved 2010-05-25.
  15. "Google Maps Javascript API V3 Reference". Google Maps JavaScript API V3. Retrieved 2010-05-25.
  16. "Extensible Markup Language (XML) 1.0 (Fifth Edition)". World Wide Web Consortium. 2008-11-26. Retrieved 2012-11-12.
  17. "Vector Mona Lisa". Archived from the original on 2013-01-04. Retrieved 2011-08-29.
  18. "Microsoft Removes Legacy Baggage from Internet Explorer 10". 9 December 2011.
  19. "Importing OOXML Ink annotations into LibreOffice". Archived from the original on 1 October 2012.