XML versus SVG?

(Auszug aus "Das Einsteigerseminar SVG — Webgrafiken mit XML" von Helma Spona)

Wenn Sie eine XML-Datei ansehen und eine SVG-Datei, werden Sie nicht viele Unterschiede finden. Die folgenden beiden Listings zeigen das. Das erste zeigt eine einfache XML-Datei, das zweite eine SVG-Datei.

<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
  <adressen>
    <ID>1</ID>
    <Nachname>Maier</Nachname>
    <Vorname>Franz</Vorname>
    <Ort>Irgendwo</Ort>
  </adressen>
</dataroot>

Die folgende SVG-Datei definiert ein Rechteck mit einer Füllfarbe

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20001102//EN" "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd">
<svg xml:space="preserve">
  <rect y="10" x="10" width="30" height="15" style="fill:orange;stroke:black"/>
</svg>

Die Unterschiede der beiden Dateien, sind auf dem ersten Blick nicht ersichtlich. Vielmehr bestehen Sie in den Details. Beide beginnen mit Angabe der XML-Version in der Zeile <?xml version="1.0". Daneben wird mit dem encoding-Attribut der Zeichensatz für das Dokument definiert. Der ist hier zwar unterschiedlich, aber auch in SVG-Dateien, können Sie die gleiche Kodierung wie für XML-Dateien verwenden.

Danach folgt der einzige wesentliche Unterschied zwischen beiden Dateien. Er besteht darin, dass in der SVG-Datei nun die <DOCTYPE>-Angabe folgt. Sie teilt dem Browser mit, das es sich um eine SVG-Datei handelt, die folglich als SVG-Code ausgewertet und als Grafik dargestellt werden muss.

Nach dieser Zeile folgen in beiden Dateien wieder einfache XML-Tags. Welche das sind, hängt davon ab, ob es sich um eine einfache XML-Datei, eine XML-Datei mit DTD oder eine SVG-Datei handelt. Die DTD (DocType Definition) bestimmt nämlich, welche Tags zulässig sind und welche Attribute sie haben. Wenn Sie die <DOCTYPE>-Angabe in der SVG-Datei weglassen, kann die Datei zwar unter Umständen trotzdem korrekt dargestellt werden, weil die Dateinamenserweiterung die Datei als SVG-Grafik ausweist. Allerdings schreibt der SVG-Standard die <DOCTYPE>-Angabe vor. Daher kann es passieren, das Browser oder Programme, die sich starr an den Standard halten, einen Fehler melden, wenn die Angabe fehlt.

Hinweis:
Auch in XML-Dateien können Sie die <DOCTYPE>-Angabe verwenden. Sie können damit bspw. eine DTD bestimmen, die festlegt, welche Tags und Attribute verwendet werden können. In reinen XML-Dateien ist diese Angabe aber nicht unbedingt notwendig, um ein gültiges XML-Dokument zu erzeugen.

Beim XML-Dokument wird der Tag der obersten Hierarchieebene mit dem Tag <dataroot> eingeleitet. Im SVG-Dokument ist dies zwingend <svg>. Da in der XML-Datei keine DTD verwendet wird, können Sie dort die Tags auch umbenennen. In einem SVG-Dokument geht das nicht, weil die in einer SVG-Datei zulässigen Elemente durch die DTD festgelegt werden.

Hinweis:
Sie können bspw. aus einer SVG-Datei eine XML-Datei machen, indem Sie die <DOCTYPE>-Angabe löschen und die Dateiendung SVG durch XML ersetzen. Dann wird die Datei vom Browser aber auch wie eine XML-Datei behandelt, nicht wie eine SVG-Datei. Zudem ist es natürlich möglich mit XSL-Dokumenten eine XML-Datei in eine SVG-Datei zu konvertieren, also nicht nur die äußere Form, sondern auch den Inhalt anzupassen.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema SVG bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © verlag moderne industrie GmbH 2001
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Das Einsteigerseminar SVG — Webgrafiken mit XML" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

verlag moderne industrie GmbH, Justus-von-Liebig-Straße 1, D-86899 Landsberg/Lech, fon ++49 (0) 81 91 / 125 – 0, leserservice(at)mi-verlag.de