Zum Inhalt springen

Vector Markup Language

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 29. September 2025 um 16:15 Uhr durch imported>Firobuz (direkt verlinkt, Weiterleitung umgangen).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Vector Markup Language
Dateiendung: keine
MIME-Type: application/vnd.openxmlformats-officedocument.vmlDrawing<ref name="ECMA_376_Part_4">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 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value), Dateipfad im ZIP-Archiv: Ecma Office Open XML Part 4 - Transitional Migration Features.pdf).</ref>
Entwickelt von: Autodesk, HP, Macromedia, Microsoft, Visio Corporation
Erstveröffentlichung: 13. Mai 1998
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Art: Grafikformat
Erweitert von: XML
Erweitert zu: SVG
Standard(s): Teil von ECMA-376 und ISO/IEC 29500:2008
http://www.w3.org/TR/NOTE-VML<ref name="W3C_VML">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 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

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

Geschichte

VML wurde 1998 von Autodesk, HP, Macromedia, Microsoft und der Visio Corporation zur Standardisierung an das World Wide Web Consortium (W3C) übergeben.<ref name="W3C_VML" /> 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.<ref name="W3C_SVG_Origin">Secret Origin of SVG. World Wide Web Consortium (W3C), 18. November 2010, abgerufen am 23. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Die Entwicklung von VML wurde daraufhin im Herbst 1998 eingestellt.<ref name="Frost_SVG">Der BibISBN-Eintrag Vorlage:BibISBN/097417730X ist nicht vorhanden. Bitte prüfe die ISBN und lege ggf. einen neuen Eintrag an.</ref> Im Laufe der Zeit ist VML zugunsten von anderen Formaten, wie beispielsweise SVG, weitestgehend in den Hintergrund geraten.<ref name="Microsoft_VML_SVG">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 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Vergleich der Elemente von VML und SVG

SVG ist nicht mit VML kompatibel.<ref name="Smith_VML">Adrian Smith: VML – Vector Graphics on the Internet. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 10. April 2005; abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Allerdings besitzen VML und SVG ähnliche Bausteine.<ref name="Microsoft_VML_SVG_Guide">Seth McEvoy: VML to SVG Migration Guide. (PDF; 880 kB) A Comparative Overview of Architecture and Implementation. Microsoft, 16. März 2010, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 17. Januar 2012; abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

[[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]:
Rechteck, Kreis, Ellipse, Pfad und Polygon als Beispiel für grafische Primitive. Pfad und Polygon sind gefüllt.
Element VML SVG
Kreis

<syntaxhighlight inline lang="xml" style="border:none;"> <oval> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <circle> </syntaxhighlight>

Ellipse

<syntaxhighlight inline lang="xml" style="border:none;"> <oval> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <ellipse> </syntaxhighlight>

Rechteck

<syntaxhighlight inline lang="xml" style="border:none;"> <rect> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <rect> </syntaxhighlight>

Abgerundetes Rechteck

<syntaxhighlight inline lang="xml" style="border:none;"> <roundrect> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <rect> </syntaxhighlight>

Polygonzug

<syntaxhighlight inline lang="xml" style="border:none;"> <polyline> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <polyline> </syntaxhighlight>

Polygon

<syntaxhighlight inline lang="xml" style="border:none;"> <polyline> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <polygon> </syntaxhighlight>

Linie

<syntaxhighlight inline lang="xml" style="border:none;"> <line> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <line> </syntaxhighlight>

Bézierkurve

<syntaxhighlight inline lang="xml" style="border:none;"> <curve> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <path> </syntaxhighlight> (C-Befehl)

Kreisbogen

<syntaxhighlight inline lang="xml" style="border:none;"> <arc> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <path> </syntaxhighlight> (A-Befehl)

Bilddatei

<syntaxhighlight inline lang="xml" style="border:none;"> <image> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <image> </syntaxhighlight>

Pfad

<syntaxhighlight inline lang="xml" style="border:none;"> <path> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <path> </syntaxhighlight>

Gruppierung

<syntaxhighlight inline lang="xml" style="border:none;"> <group> </syntaxhighlight>

<syntaxhighlight inline lang="xml" style="border:none;"> <g> </syntaxhighlight>

Beispiel

Datei:Blue oval.svg
Eine blaue Ellipse als Vektorgrafik.
Das folgende VML-Beispiel stellt ein Oval mit blauer Füllung dar:

<syntaxhighlight line lang="xml"> <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> </syntaxhighlight>

Das gleiche Beispiel als SVG sieht wie folgt aus:

<syntaxhighlight line lang="xml"> <?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> </syntaxhighlight>

Kompatibilität

Browserunterstützung

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<ref name="Microsoft_VML_Support">VML is no longer supported. Microsoft, 15. Dezember 2016, abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref name="Microsoft_IE10_Compatibility">IE10 Compatibility Changes. Microsoft, 16. September 2013, abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>, sondern muss explizit festgelegt werden. Im Quirks-Modus werden neue Funktionen aus HTML5 und CSS3 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.<ref name="Microsoft_X-UA-Compatibility">X-UA-Compatibility Meta Tag and HTTP Response Header. Microsoft, 13. Oktober 2020, abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Alternativ kann diese Festlegung auch über ein HTML Meta-Element getroffen werden (siehe Zeile 3 im Beispiel).

<syntaxhighlight line start="3" lang="xml"> <meta http-equiv="X-UA-Compatible" content="IE=5"/> </syntaxhighlight>

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.<ref name="Microsoft_Conditional_Comments">About conditional comments. Microsoft, 5. November 2015, abgerufen am 20. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Man spricht von einer sogenannten Browserweiche.

Start Inhalt Ende

<syntaxhighlight inline lang="text" style="border:none;"> </syntaxhighlight>

<syntaxhighlight inline lang="text" style="border:none;">

-->

</syntaxhighlight>

Alternativer Inhalt für alle anderen Browser (z. B. eine Rastergrafik oder SVG)

<syntaxhighlight inline lang="text" style="border:none;"> </syntaxhighlight>

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<ref name="Microsoft_IE_Lifecycle">Lifecycle FAQ - Internet Explorer and Microsoft Edge. Microsoft, 3. November 2021, abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>, besteht dennoch ab Microsoft Edge 77 die Möglichkeit, von dort aus einzelne Webseiten im IE-Modus darzustellen.<ref name="Microsoft_Edge_IE">What is Internet Explorer (IE) mode? Microsoft, 10. Februar 2022, abgerufen am 17. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> 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.<ref name="Microsoft_IE_Lifecycle" />

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.<ref name="Microsoft_VML_Intro">VML Introduction. Microsoft, 2. Juli 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 2. September 2012; abgerufen am 18. März 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref name="Microsoft_VML_SVG_Guide" />

Microsoft Office

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 2408.

Google Maps und Amazon

Google Maps nutze früher VML zum Zeichnen von Vektorgrafiken<ref name="Microsoft_VML_SVG_Guide" />, 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.<ref name="Microsoft_VML_SVG_Guide" />

Siehe auch

Weblinks

Einzelnachweise

<references />