El lenguaje de marcado vectorial ( VML ) es un formato de archivo obsoleto basado en XML para gráficos vectoriales bidimensionales . Se especificó en la Parte 4 de los estándares Office Open XML ISO / IEC 29500 y ECMA -376. Según la especificación, VML es un formato obsoleto incluido en Office Open XML solo por razones heredadas. [1] [2]
VML se utilizó ampliamente en documentos Word, Excel y PowerPoint de MS Office 2007. [1] [3] [4] En 2012, con el lanzamiento de Internet Explorer 10 , VML quedó obsoleto y ya no es compatible con el modo estándar de Internet Explorer. [5] Es una característica heredada que está disponible en Internet Explorer 10 solo cuando el navegador está configurado para ejecutarse en modos que emulan la funcionalidad de versiones anteriores de Internet Explorer 6, 7, 8 y 9.
Historia
VML fue presentado al Consorcio World Wide Web (W3C) en 1998 por Autodesk , Hewlett-Packard , Macromedia , Microsoft y Vision. [6] Casi al mismo tiempo se recibieron otras presentaciones competidoras del W3C en el área de gráficos vectoriales web, como Precision Graphics Markup Language (PGML) de Adobe Systems , Sun Microsystems y otros. [7] Como resultado de estas presentaciones, se creó un nuevo grupo de trabajo del W3C, que produjo Gráficos vectoriales escalables (SVG). SVG se convirtió en una Recomendación del W3C en 2001 como lenguaje para describir gráficos vectoriales bidimensionales y gráficos vectoriales/raster mixtos en XML. [8] VML ha quedado en desuso en gran medida a favor de otros formatos, como SVG. [9] SVG no es compatible con VML. [10]
El desarrollo del formato cesó en 1998. [11] VML se implementó en Internet Explorer desde la versión 5 hasta la versión 9 y en Microsoft Office 2000. VML ya no está disponible en Internet Explorer 10. [ 12] Microsoft espera que los sitios web realicen la transición a SVG. [13] La versión 2 de la API de JavaScript de Google Maps solía utilizar VML para rutas vectoriales en Internet Explorer 5.5+, [14] pero ha sido oficialmente descontinuada a favor de la versión 3, que no lo hace. [15]
Sintaxis
A continuación se muestra una instancia de VML producida por Microsoft Excel 2010:
<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= "editar" > <o:idmap v:ext= "editar" data= "1" /> </o:shapelayout><v:shapetype id= "_x0000_t202" coordsize= "21600,21600" o:spt= "202" path= "m,l,21600r21600,l21600,xe" > <v:stroke joinstyle= "inglete" /> <v:path gradientshapeok= "t" o:connecttype= "rect" /> </v:shapetype><v:shape id= "_x0000_s1025" tipo= "#_x0000_t202" estilo= "posición:absoluta; margen-izquierdo:203.25pt;margen-superior:82.5pt;ancho:108pt;alto:59.25pt;índice-z:1; visibilidad:oculto' color de relleno= "#ffffe1" o:modo de inserción= "automático" > <v: color de relleno2= "#ffffe1" /> <v:sombra activada= "t" color= "negro" oscurecido= "t" /> <v:ruta o:tipo de conexión= "ninguno" /> <v: estilo de cuadro de texto= 'mso-direction-alt:automático' > <div estilo= 'text-align:left' ></div> </v:cuadro de texto> <x:Tipo de objeto ClientData = "Nota" > <x:MoverConCeldas/> <x:TamañoConCeldas/> <x:Anclaje> 4, 15, 5, 10, 6, 31, 9, 9 </x:Anclaje> <x:AutoRelleno> Falso </x:AutoRelleno> <x:Fila> 6 </x:Fila> <x:Columna> 3 </x:Columna> </x:ClientData> </v:shape> </xml>
Obsérvese que, al especificar un elemento raíz llamado "xml", VML contraviene la Recomendación XML del W3C , que establece que los nombres que comienzan con 'x' 'm' 'l' están "reservados para la estandarización en esta o futuras versiones de esta especificación". [16]


VML, cuando está integrado en el marcado HTML , es leído y procesado por Microsoft Internet Explorer (pero no por otros navegadores); por ejemplo, el siguiente ejemplo muestra un óvalo azul sólido:
<html xmlns:v > <style> v\:*{comportamiento:url(#predeterminado#VML);posición:absoluta} </style> <body> <v:oval style= "izquierda:0;arriba:0;ancho:100;alto:50" fillcolor= "azul" stroked= "f" /> </body> </html>
Implementaciones
VML es utilizado por la mayoría de las aplicaciones de Microsoft Office , como Microsoft Word y Microsoft Visio , dentro de archivos HTML creados con la Save As HTMLopción ' ' (HTML simple o MHT ). Dichos archivos conservan la información vectorial completa y se pueden volver a abrir para editarlos con otras aplicaciones de Microsoft, como Microsoft PowerPoint . VML fue soportado de forma nativa por Internet Explorer de Microsoft hasta la versión 9 en línea dentro de HTML, utilizando una versión no definida de espacios de nombres SGML . El soporte para VML se eliminó en Internet Explorer 10 y versiones posteriores. [18]
El soporte para "anotaciones de tinta" en archivos Office Open XML se agregó a LibreOffice durante el ciclo de desarrollo 3.7. [19]
La mayoría de los navegadores web no admiten VML de forma nativa. Los navegadores web como Mozilla Firefox, Opera, Safari o Google Chrome admiten gráficos vectoriales escalables (SVG) en lugar de VML.
Representación de correo electrónico HTML de Microsoft Outlook
Aunque VML está en desuso como estándar en Internet Explorer, se usa más comúnmente en relación con el desarrollo de correos electrónicos HTML presentados en Microsoft Outlook 2007, 2010 y 2013. El uso de imágenes de fondo en campañas de correo electrónico requiere el uso de VML para mostrarse en Outlook porque Outlook no admite los atributos CSS o HTML para imágenes de fondo. Sin embargo, el uso de VML para contenido en lugar de su propósito previsto como formato de imagen conlleva una serie de problemas de accesibilidad. [20]
Imágenes de fondo de celdas de tabla de ancho completo
< html xmlns:v = "urn:schemas-microsoft-com:vml" >
< head >
< style >
v :* { comportamiento : url ( #predeterminado#VML ); visualización : bloque en línea ; } </ style > </ head > < body > < tabla ancho = "100%" alto = "20" > < tr > < td bgcolor = "#dddddd" estilo = "imagen-de-fondo:url('http://placekitten.com/g/500/300');repetición-de-fondo:no-repetir;posición-de-fondo:centro;" fondo = "http://placekitten.com/g/500/300" ancho = "100%" alto = "300" > <!--[if gte mso 9]> <v:rect xmlns:v="urn:schemas-microsoft-com:vml" relleno="true" trazo="falso" estilo="mso-width-percent:1000;alto:300px;"> <v:fill tipo="marco" src="http://placekitten.com/g/500/300" color="#ffffff" /> </v:rect> <![endif]--> </ td > </ tr > </ tabla > </ cuerpo > </ html >
biblioteca(ggplot2)
- Datos
colores <- c('Rouge', 'Bleu', 'Vert', 'Jaune') frequences_relatives <- c(0.20, 0.40, 0.30, 0.10) donnees <- data.frame(colores, frequences_relatives)
- Tracé del diagrama en camembert
ggplot(donnees, aes(x = "", y = frecuencias_relativas, fill = colores)) +
geom_bar(stat = "identidad", ancho = 1) +
coord_polar("y", inicio = 0) +
tema_void() +
labs(título = "Préférences de Couleurs") +
scale_fill_manual(valores = c("rojo", "azul", "verde", "amarillo"))
Imágenes de fondo de celdas de tabla con ancho especificado
< html xmlns:v = "urn:schemas-microsoft-com:vml" >
< head >
< style >
v :* { comportamiento : url ( #default#VML ); visualización : inline-block ; } </ style > </ head > < body > < tabla ancho = "600" borde = "0" relleno de celdas = "0" espaciado de celdas = "0" estilo = "colapso de borde: colapsar;" > < tr > < td estilo = "ancho: 300px; alto: 80px; imagen de fondo: url('http://placekitten.com/g/300/80');" > <!--[if gte mso 9]> <v:image xmlns:v="urn:schemas-microsoft-com:vml" id="theImage" estilo='comportamiento: url(#default#VML); visualización: inline-block; posición: absoluta; ancho: 300px; alto: 80px; superior: 0; izquierda: 0; borde: 0; índice z: 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; posición: absoluta; ancho: 300px; alto: 80px; superior: -5; izquierda: -10; borde: 0; índice z: 2;'> <div> < ! [endif]--> < tabla ancho = "300" borde = "0" espaciado de celdas = "0" relleno de celdas = "0" estilo = "collapse-border: collapse;" > < tr > < td altura = "80" alinear = "centro" valign = "arriba" estilo = "color:#ffffff;font-size:20px;" >< span > Texto </ span ></ td > </ tr > </ tabla > <!--[if gte mso 9]> </div> </v:forma> <![endif]--> </ td > </ tr > </ tabla > </ cuerpo > </ html >
Véase también
Referencias
- ^ ab "¿VML ya está disponible o no, o fue un error tipográfico?". 22 de junio de 2007. Archivado desde el original el 21 de junio de 2008. Consultado el 29 de julio de 2010 .
- ^ "Ecma TC45 - Las nuevas disposiciones propuestas amplían el progreso en la respuesta a todos los comentarios de los organismos nacionales y buscan documentar y resolver problemas heredados. Casi 2/3 de los comentarios ya han sido revisados". 2007-12-21 . Consultado el 2010-07-29 .
- ^ Stephane Rodriguez (4 de septiembre de 2007). "¿Formatos XML de Microsoft Office? Defectuosos por diseño".
- ^ Yegor Kozlov. "Documentación de la API de POI: clase XSSFVMLDrawing". Apache Software Foundation . Consultado el 29 de julio de 2010 .
- ^ Microsoft. "VML ya no es compatible".
- ^ Mathews, Brian; Brian Dister; John Bowler; Howard Cooper Stein; Ajay Jindal; Tuan Nguyen; Peter Wu; Troy Sandal (13 de mayo de 1998). "Vector Markup Language (VML)". W3C . Consultado el 8 de mayo de 2009 .
- ^ Al-Shamma, Nabeel; Robert Ayers; Richard Cohn; Jon Ferraiolo; Martin Newell; Roger K. de Bry; Kevin McCluskey; Jerry Evans (10 de abril de 1998). "Precision Graphics Markup Language (PGML)". W3C . Consultado el 8 de mayo de 2009 .
- ^ W3C (4 de septiembre de 2001). «Especificación de gráficos vectoriales escalables (SVG) 1.0» . Consultado el 29 de julio de 2010 .
{{cite web}}: CS1 maint: nombres numéricos: lista de autores ( enlace ) - ^ Dennis Forbes (julio de 2003). "Gráficos vectoriales". Revista MSDN . Consultado el 29 de julio de 2010 .
- ^ "VML — Gráficos vectoriales en Internet". Julio de 2001. Consultado el 29 de julio de 2010 .
- ^ Jon Frost; Stefan Goessner; Michel Hirtzler (2003). Aprenda SVG: el estándar de gráficos web. p. 7. ISBN 0-9741773-0-XEl soporte para el
sistema VML de Microsoft se implementó en Internet Explorer, pero el desarrollo se detuvo en el otoño de 1998.
- ^ "Libro de recetas de compatibilidad de Internet Explorer 10 (Windows)". MSDN . Microsoft. 1 de octubre de 2012 . Consultado el 28 de noviembre de 2012 .
- ^ Seth McEvoy (16 de marzo de 2010), Guía de migración de VML a SVG, Microsoft , consultado el 29 de julio de 2010
- ^ "Superposiciones de mapas: dibujar polilíneas". API de Google Maps, versión 2. Consultado el 25 de mayo de 2010 .
- ^ "Referencia de la API de JavaScript V3 de Google Maps". API de JavaScript V3 de Google Maps . Consultado el 25 de mayo de 2010 .
- ^ "Extensible Markup Language (XML) 1.0 (quinta edición)". World Wide Web Consortium . 2008-11-26 . Consultado el 2012-11-12 .
- ^ "Vector Mona Lisa". Archivado desde el original el 4 de enero de 2013. Consultado el 29 de agosto de 2011 .
- ^ "Microsoft elimina los errores heredados de Internet Explorer 10". 9 de diciembre de 2011.
- ^ "Importación de anotaciones de OOXML Ink en LibreOffice". Archivado desde el original el 1 de octubre de 2012.
- ^ https://a11y.email/email-accessibility-alert-vml-code-creates-accessibility-errors/ a
Enlaces externos
- Presentación del borrador inicial del W3C el 13 de mayo de 1998
- Página de MSDN sobre VML
- Página de MSDN sobre el espacio de nombres DocumentFormat.OpenXml.Vml