Von XML haben Sie sicher schon gehört. Doch für was ist es gut? Kann ich das in meiner Abteilung auch gebrauchen oder ist es sowieso schon veraltet?
XML ist ein standardisiertes Datenaustauschformat. Alle Daten sind dabei in einer einfachen Textdatei gespeichert und können mit jedem Texteditor bearbeitet werden.Wenn Sie Daten exakt und automatisiert an andere Abteilungen übertragen wollen ist es auf jeden Fall einen Blick wert.
Ich beschreibe das Format hier, weil der Einsatz in einem schlanken Büro oft sinnvoll sein kann. Da die Erstellung leichter ist als z.B. das Erstellen einer Schnittstelle für ein ERP System kann XML eine gute (Zwischen)Lösung sein.
Kurz und knapp: XML, wie ein Formular in einer Klarsichtfolie
Man kann sich ein XML wie ein (Papier)Formular in einer Klarsichtfolie vorstellen. Man schreibt die Daten direkt auf die Klarsichtfolie und gibt nur diese weiter. Der Empfänger hat das gleiche Formular und steckt es in die Klarsichtfolie.
Nehmen wir als Beispiel eine Person mit den Eigenschaften:
- Name
- Vorname
- Geburtsdatum
- Größe
Das Schema entspricht dem Formular
Es beschreibt alle Felder im Formular mit deren Feldnamen, Eigenschaften und Regeln.
Zum Beispiel das Feld für Ihren Vornamen. Es hat den Feldnamen „Vorname“ um es später eindeutig zu erkennen.
Die Eigenschaft oder Datentyp des Felds ist „Zeichenkette“, da es sich bei Ihrem Namen nicht um eine Zahl oder um ein Datum handelt.
Das Feld „Geburtstag“ ist vom Datentyp Datum und hat keine weiteren Beschränkungen.
So könnte dies als Schema aussehen:
Die Dateninstanz entspricht der Folie
Bei der Dateninstanz handelt es sich um die Daten eines ausgefüllten Formulars, bzw. der Klarsichtfolie aus dem Beispiel.
Um die Dinge später zuordnen zu können haben die Daten genau die im Schema bestimmten Feldnamen(auf der Folie entspräche das der Position).
Das klingt interessant, doch warum sollte man XML einsetzen?
Lesbar von Mensch und Maschine
XML Dateien sind von Menschen und Maschinen, sprich Computern, lesbar. Sollte ein Fehler im Programm auftreten oder das Programm nicht mehr funktionieren, können Sie die Datei mit einem einfachen Texteditor öffnen. Zugegeben es ist nicht unbedingt leserfreundlich, doch man kann zumindest verstehen um welche Daten es sich handelt. Man könnte die Daten dann mit einem anderen Programm einlesen und weiterverarbeiten. Die Datenbeschriftung ist sprechend, statt die Daten nur aufzureihen sind sie in einer Baumstruktur geordnet.
Bei Binärdaten ist dies wesentlich schwieriger, vor allem wenn es sich um ein proprietäres Format handelt. Wenn Sie dies mit einem Editor öffnen sehen Sie nichts außer kryptische Zeichen.
Im Gegensatz zu CSV sind die Daten typisiert
Die Daten sind typisiert (sofern man das Schema hat). Bei einer CSV (Kommagetrennte Werte) Datei haben Sie keine Informationen über die Daten. Ist dies eine Telefonnummer oder ein Datum? Wird das englische Format (Monat.Tag.Jahr) oder das deutsche(Tag.Monat.Jahr) verwendet? Oft lässt sich dies aus den Daten ableiten, doch sicher kann man sich nicht sein. Bei XML werden diese Informationen im Schema abgespeichert. Die Daten können stets gegen das Schema geprüft werden um festzustellen ob es sich um einen korrekten Datensatz handelt oder nicht.
Verschachtelbar
XML ist beliebig tief verschachtelbar. Bei einem wohlgeformten XML Dokument handelt es sich immer um einen Baum. Man beginnt mit einem Wurzelelement. Von diesem aus kann man beliebig verzweigen. Das macht die Abbildung auch von komplexen Datenstrukturen möglich.
Speicherung in Texdateien
Alles basiert auf einfachen Textdateien. Sicher, Datenbanken sind schneller in der Auswertung, doch Textdateien sind sehr robust. Sie sind unabhängig von der Datenbank und Software; Sie wissen immer genau wo und wie Ihre Daten gespeichert sind. Sollte sich ihr System ändern, so müssen Sie am alten Schema und den Daten nichts ändern. Dies ist wichtig bei Archiven. Eine Textdatei von vor 20 Jahren können Sie immer noch lesen und bearbeiten. Bei einer .xyz Datei von einem anderen Betriebssystem sieht es schlecht aus.
Nicht umsonst setzen die stabilen Unix Betriebssysteme auf das Konzept „Everything is a file“ und verzichten, z.B. auf eine Registry-Datenbank.
Keine Spezielle Software nötig
Änderungen an XML Dateien, Schemas und Darstellungen können ohne spezielle Software mit einem Texteditor vorgenommen werden. Zur Not reicht der vorinstallierte Editor:
Leichter geht es mit Syntax Highlighting, aufklappbaren Bäumen und automatischen Einrückungen wie im Open Source Programm Notepad++.
Vorhandene Schnittstellen
Viele Programmiersprachen und Programme können Daten direkt als XML ein- und ausgeben. Mit PowerShell und Excel haben Sie ein mächtige Werkzeuge um XML Daten einzulesen und zu verarbeiten.
Eingesetzt in Word und Excel
XML wird in vielen Programmen eingesetzt, einige Beispiele:
- Das Office Paket setzt seit Office 2007 mit den neuen Formaten auf XML.
- Das Grafikprogramm yED speichert ganze Diagramme als GraphML.
- Das Grafikformat SVG setzt auf XML
- APIs im Internet nutzen meist XML (oder JSON)
- …
Es ist wohl davon auszugehen, dass Microsoft XML nicht so schnell aufgeben wird.
Einsatzmöglichkeiten
Obwohl XML als Format für den Datenaustausch konzipiert wurde lässt es sich auch gut für die Datenspeicherung nutzen. Sie könnten es zum Beispiel dafür einsetzten:
- Abteilungsübergreifender Austausch von festgelegten Werten(z.B. Bestellisten oder Messreihen)
- Formulardaten. Wer schon einmal Daten aus einem Excel Blatt per Hand in eine Excel Tabelle kopiert hat, sollte wirklich über den Einsatz von XML nachdenken 🙂
- Speicherung von Parametern in Software etc.
- Datenaustausch zwischen verschiedenen Systemen.
Alternative JSON
Eine Alternative zu XML ist JSON, die JavaScript Object Notation dient auch dem Datenaustausch mit einfacherer und für den Menschen leichter lesbarer Struktur.
„XML ist eine Auszeichnungssprache und somit vielseitiger einsetzbar als JSON, das ein Datenaustauschformat ist. XML ist weiter verbreitet, wird jedoch von JSON aufgrund seiner Einfachheit dort zurückgedrängt, wo keine komplizierten Auszeichnungen notwendig sind.“ [Quelle: Wikipedia – JSON]
JSON ist – natürlich – im JavaScript Umfeld weit verbreitet. Vergleiche zu XML werden direkt auf der JSON Webseite oder bei Udemy angestellt. Da es sich bei beiden Formaten um standardisierte Formate handelt lassen sich diese zudem leicht ineinander konvertieren. Im Business- und Microsoft-Umfeld scheint XML generell verbreiteter zu sein.
XML ist kein Ersatz für eine Datenbank
Doch XML hat natürlich Beschränkungen:
Sie sind begeistert von XML und wollen nun all Ihre Kunden als einzelne XML Dateien speichern? Das ist wohl nicht die beste Idee, wobei es auch hier interessante Entwicklungen gibt. Eine relationale Datenbank ist schneller bei der Abfrage und Verarbeitung von großen Datenmengen.
XML Dateien sind ohne das zugehörige Anzeigeschema doch recht unübersichtlich. Menschenlesbarkeit ja, Übersichtlichkeit und Lesefreundlichkeit? Eher nein.
Ohne Software nicht ganz leicht
Ein Schema mit all den Prüfungen ist nicht ganz leicht zu erstellen. Hat man Programmierkenntnisse hilft dies sehr. Software für die einfache Erstellung gibt es im kostenlosen Bereich eher wenig. Der Overhead in einer XML Datei kann aufgrund der vielen öffnenden und schließenden Tags recht groß ausfallen. Dies stellt allerdings in den meisten Fällen keine Beschränkung dar.
Nichts für Einzelfälle
Die Erstellung von XML Dateien und die Einrichtung all der nötigen Werkzeuge lohnt sich nur ab einer gewissen Anzahl an Datein. Ihr Verein hat nur eine Handvoll Mitglieder. Dann wird die Datenverarbeitung mittels XML wohl übertrieben sein.
Sie fertigen über hundert Stück im Jahr und wollen die Messdaten halbautomatisch auswerten? Dann kann XML eine gute Idee sein.
Nicht für Bilder und Co
XML eignet sich nicht besonders zur Speicherung von Binärdaten, wie z.B. Bildern oder Audiodateien. Dies ist zwar möglich, jedoch ist es nicht dafür gedacht.
Fazit
XML ist ein weit verbreiteter Standard der auf jeden Fall seine Berechtigung hat.
Vor allem für den Datenaustausch, dafür wurde es schließlich konzipiert, eignet sich das Format sehr gut. Dank der guten Unterstützung in Excel und den anderen Programmen im Office Paket lässt es sich recht schnell produktiv einsetzen.
Wollen Sie mehr zum Thema XML und Excel wissen? Hinterlassen Sie doch einen Kommentar.