Vector Markup Language

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vector Markup Language
Dateiendung: keine
MIME-Type: application/vnd.openxmlformats-officedocument.vmlDrawing[1]
Entwickelt von: Autodesk, HP, Macromedia, Microsoft, Visio Corporation
Erstveröffentlichung: 13. Mai 1998
Art: Grafikformat
Erweitert von: XML
Erweitert zu: SVG
Standard(s): Teil von ECMA-376 und ISO/IEC 29500:2008
Website: http://www.w3.org/TR/NOTE-VML[2]

Die Vector Markup Language (VML) ist eine veraltete Auszeichnungssprache zur Beschreibung zweidimensionaler Vektorgrafiken in XML.

Geschichte[Bearbeiten | Quelltext bearbeiten]

VML wurde 1998 von Autodesk, HP, Macromedia, Microsoft und der Visio Corporation zur Standardisierung an das World Wide Web Consortium (W3C) übergeben.[2] Als Webstandard wurde VML abgelehnt, da Adobe, Sun und andere einen weiteren Standard unter dem Namen Precision Graphics Markup Language (PGML) beantragten. Diese beiden Vorschläge wurden unter dem Namen Scalable Vector Graphics (SVG) vereinigt und als Standard vom W3C verabschiedet.[3] Die Entwicklung von VML wurde daraufhin im Herbst 1998 eingestellt.[4] Im Laufe der Zeit ist VML zugunsten von anderen Formaten, wie beispielsweise SVG, weitestgehend in den Hintergrund geraten.[5]

Vergleich der Elemente von VML und SVG[Bearbeiten | Quelltext bearbeiten]

SVG ist nicht mit VML kompatibel.[6] Allerdings besitzen VML und SVG ähnliche Bausteine.[7]

Rechteck, Kreis, Ellipse, Pfad und Polygon als Beispiel für grafische Primitive. Pfad und Polygon sind gefüllt.
Element VML SVG
Kreis

<oval>

<circle>

Ellipse

<oval>

<ellipse>

Rechteck

<rect>

<rect>

Abgerundetes Rechteck

<roundrect>

<rect>

Polygonzug

<polyline>

<polyline>

Polygon

<polyline>

<polygon>

Linie

<line>

<line>

Bézierkurve

<curve>

<path> (C-Befehl)

Kreisbogen

<arc>

<path> (A-Befehl)

Bilddatei

<image>

<image>

Pfad

<path>

<path>

Gruppierung

<group>

<g>

Beispiel[Bearbeiten | Quelltext bearbeiten]

Eine blaue Ellipse als Vektorgrafik.
Das folgende VML-Beispiel stellt ein Oval mit blauer Füllung dar:
<html xmlns:v="urn:schemas-microsoft-com:vml">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=5"/>
    <style>v\:*{behavior:url(#default#VML);position:absolute}</style>
  </head>
  <body>
    <v:oval style="left:0;top:0;width:100;height:50" fillcolor="blue" stroked="f"/>
  </body>
</html>
Das gleiche Beispiel als SVG sieht wie folgt aus:
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="50">
  <ellipse cx="50" cy="25" rx="50" ry="25" fill="blue"/>
</svg>

Kompatibilität[Bearbeiten | Quelltext bearbeiten]

Browserunterstützung[Bearbeiten | Quelltext bearbeiten]

Obwohl das Format als Standard durch das W3C abgelehnt und größtenteils durch Entwickler ignoriert wurde, implementierte Microsoft VML im Internet Explorer 5. Bis einschließlich Version 9 wird VML implizit im sogenannten Quirks-Modus unterstützt. In den beiden letzten Versionen 10 und 11 wird der Quirks-Modus nicht mehr implizit ausgewählt[8][9], sondern muss explizit festgelegt werden. Im Quirks-Modus werden neue Funktionen aus HTML 5 und CSS 3 nicht oder fehlerhaft dargestellt. Ein herausragendes Beispiel dafür ist der CSS Box-Modell-Fehler. Der Quirks-Modus kann über das HTTP-Header-Feld X-UA-Compatible festgelegt werden, indem dessen Wert auf IE=5 gesetzt wird.[10] Alternativ kann diese Festlegung auch über ein HTML Meta-Element getroffen werden (siehe Zeile 3 im Beispiel).

<meta http-equiv="X-UA-Compatible" content="IE=5"/>

Zudem unterstützt der Internet Explorer Conditional Comments für VML. Diese ermöglichen eine unterschiedliche Darstellung von Inhalten in Anhängigkeit des genutzten Browsers bzw. der verfügbaren Technologien.[11] Man spricht von einer sogenannten Browserweiche.

Start Inhalt Ende
<!--[if vml]> Inhalt, der nur angezeigt wird, wenn VML unterstützt wird (i. d. R. VML-Code) <![endif]-->
<!--[if !vml]>--> --> Alternativer Inhalt für alle anderen Browser (z. B. eine Rastergrafik oder SVG) <!-- <![endif]-->

Ein konkreter Anwendungsfall sind geometrische Zeichnungen, die im Internet Explorer und Programmen aus der Microsoft Office Familie als qualitativ hochwertige Vektorgrafik dargestellt werden und in allen anderen Browsern als Rastergrafik mit Treppeneffekten und ggf. Kompressionsartefakten.

In Bezug auf den Internet Explorer selbst, können je nach Version unterschiedliche Vektorgrafikformate genutzt werden. SVG wird für den Internet Explorer erst ab Version 9 unterstützt. Für ältere Browser kann allerdings eine äquivalente Vektorgrafik im VML-Format angeboten werden.

Obwohl die Entwicklung des Internet Explorers Mitte Juni 2022 eingestellt wird[12], besteht dennoch ab Microsoft Edge 77 die Möglichkeit, von dort aus einzelne Webseiten im IE-Modus darzustellen.[13] Dort wird auch VML nach wie vor unterstützt, sofern die Kompatibilität (wie zuvor beschrieben) entsprechend festgelegt wurde. Der IE-Modus soll in Edge bis mindestens 2029 zur Verfügung stehen.[12]

Die Hürde zur Nutzung des IE-Modus ist vergleichsweise hoch, da entsprechende Seiten per Hand in eine Liste unter der Adresse edge://settings/defaultBrowser eingetragen werden müssen und nur 30 Tage gültig sind. Danach muss man diese bei Bedarf erneut eintragen.

Microsoft empfiehlt bereits seit 2012 einen Wechsel von VML zu SVG.[14][7]

Microsoft Office[Bearbeiten | Quelltext bearbeiten]

VML wird unter anderem auch in Microsoft Office für Vektorgrafiken genutzt. Beim Speichern von Office-Dokumenten als „Webseite“ (*.htm) oder „Webseite in einer Datei“ (*.mht) wird das Format genutzt, um Vektor-Zeichnungen derart in die entstehenden HTML-Dateien einzubetten, dass sie verlustlos mit dem gleichen Office-Programm wieder geöffnet werden können. Dies gilt sogar noch für die aktuelle Office-Version 2204.

Google Maps und Amazon[Bearbeiten | Quelltext bearbeiten]

Google Maps nutze früher VML zum Zeichnen von Vektorgrafiken[7], wenn der Internet Explorer 5.5 oder höher genutzt wurde. Inzwischen ist dort die Mindestanforderung der Internet Explorer 10 und die Nutzung von VML wurde daher eingestellt. Auch Amazon setzte früher stellenweise VML ein.[7]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Office Open XML File Formats - Transitional Migration Features. (ZIP; 8,1 MB) ECMA-376-4:2016. European Computer Manufacturers Association (ECMA), 12. Oktober 2016, abgerufen am 17. Februar 2022 (englisch, Dateipfad im ZIP-Archiv: Ecma Office Open XML Part 4 - Transitional Migration Features.pdf).
  2. a b Brian Mathews, Daniel Lee, Brian Dister, John Bowler, Howard Cooperstein, Ajay Jindal, Tuan Nguyen, Peter Wu, Troy Sandal: Vector Markup Language (VML). Submission to the World Wide Web Consortium. World Wide Web Consortium (W3C), 13. Mai 1998, abgerufen am 17. Februar 2022 (englisch).
  3. Secret Origin of SVG. World Wide Web Consortium (W3C), 18. November 2010, abgerufen am 23. Februar 2022 (englisch).
  4. Jon Frost, Stefan Goessner, Michel Hirtzler: Learn SVG: The Web Graphics Standard. Columbia 2003, ISBN 0-9741773-0-X, S. 7 (englisch, 518 Seiten).
  5. Dennis Forbes: Vector Graphics. Build Flexible, Lightweight XML-Based Images for ASP.NET Using Scalable Vector Graphics. In: MSDN Magazine. Microsoft, Juli 2003, abgerufen am 17. Februar 2022 (englisch).
  6. Adrian Smith: VML - Vector Graphics on the Internet. (Nicht mehr online verfügbar.) Archiviert vom Original am 10. April 2005; abgerufen am 17. Februar 2022 (englisch).
  7. a b c d Seth McEvoy: VML to SVG Migration Guide. (PDF; 880 kB) A Comparative Overview of Architecture and Implementation. (Nicht mehr online verfügbar.) Microsoft, 16. März 2010, archiviert vom Original am 17. Januar 2012; abgerufen am 17. Februar 2022 (englisch).
  8. VML is no longer supported. Microsoft, 15. Dezember 2016, abgerufen am 17. Februar 2022 (englisch).
  9. IE10 Compatibility Changes. Microsoft, 16. September 2013, abgerufen am 17. Februar 2022 (englisch).
  10. X-UA-Compatibility Meta Tag and HTTP Response Header. Microsoft, 13. Oktober 2020, abgerufen am 17. Februar 2022 (englisch).
  11. About conditional comments. Microsoft, 5. November 2015, abgerufen am 20. Februar 2022 (englisch).
  12. a b Lifecycle FAQ - Internet Explorer and Microsoft Edge. Microsoft, 3. November 2021, abgerufen am 17. Februar 2022 (englisch).
  13. What is Internet Explorer (IE) mode? Microsoft, 10. Februar 2022, abgerufen am 17. Februar 2022 (englisch).
  14. VML Introduction. (Nicht mehr online verfügbar.) Microsoft, 2. Juli 2012, archiviert vom Original am 2. September 2012; abgerufen am 18. März 2022 (englisch).