벡터 마크업 언어

벡터 마크업 언어(Vector Markup Language, VML)는 2차원 벡터 그래픽스를 위한 XML 기반 파일 포맷이다.

VML은 오피스 오픈 XML 표준 ISO/IEC 29500의 파트 4와 ECMA-376에 규정되어 있다. 규격에 따르면 VML은 오피스 오픈 XML이 유산적(legacy) 이유로 문제가 제기된 포맷으로 간주된다.

VML은 마이크로소프트 오피스 2007 이상의 문서(워드, 액셀, 파워포인트 문서)에 사용된다.

문법 
아래는 마이크로소프트 엑셀 2010이 만들어낸 VML의 한 예이다.
<xml xmlns:v="urn:schemas-microsoft-com:vml"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel">
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout><v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202"
  path="m,l,21600r21600,l21600,xe">
  <v:stroke joinstyle="miter"/>
  <v:path gradientshapeok="t" o:connecttype="rect"/>
 </v:shapetype><v:shape id="_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:fill color2="#ffffe1"/>
  <v:shadow on="t" color="black" obscured="t"/>
  <v:path o:connecttype="none"/>
  <v:textbox style='mso-direction-alt:auto'>
   <div style='text-align:left'></div>
  </v:textbox>
  <x:ClientData ObjectType="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>

xml이라는 루트 요소를 지정함으로써 VML은 W3C의 XML 권고안을 무시한다. (x, m, l로 시작하는 이름은 차후 버전의 규격에 사용하기 위해 보유한 것이기 때문).

HTML 마크업에 임베드할 때 VML은 마이크로소프트 인터넷 익스플로러를 통해 읽히고 처리된다. 다음의 예는 파란 타원형을 보여준다:

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

참조

외부 링크 
  W3C submission Initial draft 13 May 1998
  MSDN VML page

마크업 언어
XML 기반 표준
XML
오피스 오픈 XML
그래픽 파일 포맷
벡터 그래픽스
ISO/IEC 표준