SVG (Skalierbare VektorGraphik) ist eine Sprache, die zweidimensionale Graphiken beschreibt.
SVG ist ein Klartext-Datenformat aus der
XML-Familie wie auch
XHTML. Es legt den internationalen Standard für Vektorgraphik fest. Die zuständige Organisation, welche derartige Standards festlegt, ist das
W3C.
SVG erlaubt drei verschiedene Arten von Graphiken: Vektorgraphikformen, zum Beispiel Wege, die aus geraden Linien und Kurven bestehen, Bilder und Text. Graphische Objekte können beschrieben, referenziert, gruppiert, gestaltet, transformiert und zusammengesetzt werden, bevor sie dargestellt werden. Eigenschaften wie verschachtelte Transformationen, Ausschneiden von Pfaden, Alpha-Masken, Filtereffekte und Vorlageobjekte, auch Interaktion, Animationen und Verknüpfungen mit
script-Sprachen wie
ECMA-
script im Rahmen des
DOM sind vorgesehen.
SVG beinhaltet oder bezieht sich bereits auf Teile der Standards oder Empfehlungen
CSS,
SMIL Animation und
XLink und ist ferner als
XML-Format mit anderen
XML-Formaten wie
XHTML oder
MathML mischbar.
2008 ist SVG tiny 1.2 erschienen, welches unter anderem eine Integration weiterer Formate wie Audio und Video erlaubt, um
SVG zu einem multimedialen Werkzeug auszubauen.
SVG kann wie alle
XMLs mit einem einfachen Texteditor geschrieben werden. Als Klartextformat ist die dynamische Erzeugung mit Programmen in Programmiersprachen wie zum Beispiel
fortran, c oder java oder mit script-Sprachen wie
PHP oder
PERL besonders einfach, auch in Kombination mit Datenbanken, da diese Sprachen und Programme selbst keine besonderen Leistungsmerkmale aufweisen müssen, um
SVG erzeugen zu können, eine Textausgabe reicht aus. Somit bietet sich dem Autor hier die Möglichkeit einer klaren Aufgabentrennung zwischen der Berechnung oder Speicherung von Daten und Bildern, der Transformation in das Format
SVG und einer Visualisierung der beschriebenen Graphik mit einem anderen speziellen Darstellungsprogramm oder einem
browser für viele Dateiformate. Ebenso eignet sich
SVG als standardisiertes Format hervorragend zum Datenaustausch zwischen verschiedensten Programmen und zur dauerhaften Archivierung von Graphiken als Klartext für kommende Generationen. Ob, wie oder womit
SVG dargestellt wird, ist nicht festgelegt, neben zahlreichen eigenständigen Programmen zur Darstellung und Erzeugung von
SVG gibt es auch
plugins für
browser und auch
browser selbst, die zumindest Teile der Spezifikation darstellen können. Seit 2005 ist jedoch eine starke Verbesserung der
SVG-Unterstützung in technisch aktuell gehaltenen
browsern zu beobachten. Konqueror/
KDE (etwa ab 3.3.2) arbeiten mit einem eigenen
plugin. Vom Konqueror und dem
plugin abgeleitet sind wiederum WebKit-
browser (Safari, Arora, Chrome, Google Chrome etc), die damit ebenfalls
SVG interpretieren können. Opera unterstützt ab Version 8 den Substandard
SVG-tiny, seit Version 9 das komplette
SVG. Mozilla hat zum Beispiel ab Firefox 1.5 oder Seamonkey 1.0
SVG standardmäßig aktiviert. Microsofts Internet-Explorer interpretiert seit Version 9 ebenfalls
SVG. Unabhängig davon können auch bereits genannte
plugins in jedem
browser eingesetzt werden, zum Beispiel eines der Firma Adobe, welches
SVG weitgehend unterstützt. Alternativ können auch eigenständige Programme mit dem
MIME-Typ "image/svg+xml" im
browser verknüpft werden. Da
SVG auch Möglichkeiten zur Verfügung stellt, graphische Inhalte alternativ in Textform zu beschreiben, ist es auch möglich, diesen Text lesbar zu machen oder vorgelesen zu bekommen, um so den Inhalt der Datei zugänglich zu machen. Die Verantwortung für das Vorhandensein einer solchen Textalternative liegt allerdings beim Autor des Dokumentes.