Seit ihrer ersten Vorstellung wurde die Extensible Markup Language (XML) als Revolution in der IT-Landschaft gefeiert. Visionäre sahen gar schon das Ende von HTML und des konventionellen Web-Designs gekommen. Zwar hat sich XML inzwischen als wichtiges Datenformat etabliert, doch der Rausch ist vorbei. Es ist ruhiger geworden um XML. Wir zeigen Ihnen, wie Sie unter KDE selbst XML-Dateien erzeugen und bearbeiten können.
Viele Linux-Anwender haben nahezu täglich mit XML-Dateien zu tun – vorausgesetzt, sie erledigen ihre Büroarbeiten mit OpenOffice oder schlagen etwas in den Hilfedateien von KDE nach. Auch das Notiz-Programm TuxCards [1] arbeitet mit diesem Datenformat. Und das aus guten Grund: XML ist die erste Wahl, wenn es um den einfachen Austausch von Daten geht.
XML für Einsteiger
Was verbirgt sich hinter der Abkürzung XML? Die Extensible Markup Language gehört zu den so genannten Markup-Sprachen, die auch als Seitenbeschreibungssprachen bezeichnet werden. Einer der bekanntesten Vertreter dieser Gattung ist HTML. Eine Besonderheit dieser Sprachen besteht darin, dass sie die Struktur eines Dokuments von seiner Darstellung trennen.
Das klingt kompliziert, ist aber ganz einfach. Ein Beispiel: Ein Student schreibt seine Diplomarbeit mit Word für Windows. Mit Hilfe von Überschriftenebenen gliedert er seinen Text. Er gibt das Dokument nun an einen Kommilitonen weiter, der eine andere Software nutzt, deren Importfilter nicht mit Word-Dokumenten umgehen kann. Die eben noch so übersichtlich gegliederte Arbeit stellt sich nun als ungegliederter Text dar. Der Grund: Word selbst erkennt zwar anhand der Formatanweisung, dass es sich bei einer Passage um eine Überschrift handelt. Es fehlt aber eine allgemein gültige Kennzeichnung, die es anderen Programmen erlaubt, automatisch das gleiche zu erkennen.
Hier kommen nun Markup-Sprachen ins Spiel. Dank ihrer Sprachelemente kann beispielsweise eine Überschrift als solche markiert werden. Diese Markierung bleibt auch dann erhalten, wenn das Dokument weitergegeben und verarbeitet wird. Wie der Text letztlich dargestellt wird, spielt keine Rolle. Die Darstellung wird durch eine Sammlung von externen Anweisungen, einem so genannten Style Sheet, geregelt.
Ein weiterer Vorteil einer XML-Datei besteht darin, dass sie aufgrund der Markierungen von Maschinen gelesen werden kann. Die Einsatzmöglichkeiten von XML sind damit vielfältig. Ein OpenOffice-Dokument basiert ebenso auf XML wie das Scalable Vector Graphics Format (SVG), das viele Zeichenprogramme inzwischen erzeugen können.
Genau diese Vorteile sind es aber auch, die XML für viele Anwender etwas schwer fassbar machen, da es sich um ein Regelwerk handelt, das helfen kann, Daten in Strukturen abzulegen und diese Strukturen zu beschreiben. Solche strukturierten Daten können Adressen, Bibliotheksbestände oder chemische Strukturen sein.
Sammeln Sie vielleicht Schallplatten oder Comics und wollen Ihre Sammlung im Web präsentieren? Dann können Sie die Daten auch direkt im XML-Format ablegen und online veröffentlichen. Das geht schnell und einfach und Sie ersparen sich die aufwendige Konvertierung in das HTML-Format.
Ihre erste XML-Datei
Im Prinzip handelt es sich bei einer XML-Datei um eine einfache Textdatei, die auf eine bestimmte Art und Weise aufgebaut ist. Am leichtesten lassen sich die grundlegenden Strukturen direkt an einem Beispiel erkennen:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE adressen SYSTEM 'datenbank.dtd'> <adressen> <kontakt> <name>Lamprecht</name> <vorname>Stephan</vorname> <telefonnummer type='privat'>123456</telefonnummer> <telefonnummer type='office'>789123</telefonnummer> <mail>nil@meinedomain.org</mail> </kontakt> <kontakt> <name>Lamprecht</name> <vorname>Daniela</vorname> <telefonnummer type='privat'>888888</telefonnummer> <telefonnummer type='office'>111111</telefonnummer> <mail>nix@meinedomain.org</mail> </kontakt> </adressen>
Hier wurde der Ausschnitt aus einer Adressdatei gewählt. Wenn Sie bereits mit HTML gearbeitet haben, wird Ihnen manches bekannt vorkommen. Im Gegensatz zu HTML beginnt die XML-Datei mit einer anderen Anweisung. Diese kennzeichnet die Datei als XML-Dokument und definiert den Zeichensatz, der verwendet werden soll.
Für die Verarbeitung von XML-Dokumenten wird eine Software genutzt, die als Parser bezeichnet wird. So weit, so ähnlich. Damit der Parser nun auch weiß, welche Sprachelemente eigentlich in der Datei auftauchen dürfen, werden diese entweder in der XML-Datei selbst oder an einem eigenen Ort gespeichert. Diese Sammlung von Definitionen wird als Document Type Definition (DTD) bezeichnet. In unserem Beispiel soll die DTD datenbank genutzt werden. Weitere Informationen zum grundlegen Aufbau von XML-Dokumenten finden Sie unter [2].
Wer spricht hier XML?
Prinzipiell genügt zum Erstellen und Bearbeiten einer XML-Datei ein einfacher Texteditor. Bei umfangreichen oder besonders verschachtelten Dokumenten geht damit aber schnell die Übersicht verloren. Besser lassen sich XML-Dateien daher mit einem Spezialwerkzeug bearbeiten. KXML Editor gehört dazu und ist – wie der Name bereits andeutet – für die KDE-Umgebung optimiert. Sollte das Programm nicht zum Umfang Ihrer Distribution gehören, finden Sie unter [3] stets die aktuelle Version.
Nach dem ersten Programmstart präsentiert sich die Software mit einer aufgeräumten Oberfläche. Legen Sie zunächst über File / Version&Encoding die grundlegenden Eigenschaften der Datei fest. Es öffnet sich ein Dialog, in dem Sie die XML-Version und den Zeichensatz angeben können (Abbildung 1).
Die Grundstruktur erfassen
Nun können Sie Ihr erstes XML-Element in die Datei über Insert / Element einfügen. In dem folgenden Dialog tragen Sie unter Local Name beispielsweise adressen ein. Nach einem Klick auf OK wird das Element eingefügt.
Möchten Sie diesem Element ein Unterelement hinzufügen, markieren Sie es zunächst in der linken Baumansicht. Dann öffnen Sie entweder mit einem Rechtsklick auf das Element das Kontextmenü und wählen den Eintrag Element, oder Sie nehmen mit der Befehlsfolge Insert / Element den Weg übers Menü. Beide Wege öffnen denselben Dialog. Dort geben Sie unter Local Name dem Element einen Namen (Abbildung 2) und legen seine Stellung in der Hierarchie fest. Da Sie ein Unterelement erzeugen wollen, ist der Eintrag At bottom der richtige.
Erstellen Sie so die Struktur Ihres Dokuments. Wollen Sie mehrere Elemente der gleichen Ebene erzeugen, können diese auch kopiert werden. Einfach mit der Maus markieren, mit [Strg-C] in die Zwischenablage kopieren und mit [Strg-V] an der gewünschten Stelle wieder einfügen.
In unserem Beispiel verfügt das Element <telefonnummer> über das Attribut type. Ein solches Attribut definieren Sie, indem Sie das Element auswählen, und mit Insert / Attribute die entsprechende Eingabemaske aufrufen. Die Bezeichnung des Attributs geben Sie in die Zeile Qualified Name ein, den eigentlichen Wert in Value (Abbildung 3).
Eine Struktur ohne Inhalte macht noch kein Dokument aus. Die Inhalte zu jeden Element weisen Sie zu über die Befehle Insert / Text oder Insert / CData, nachdem Sie es markiert haben. Grundsätzlich werden alle Teile einer XML-Datei von einem Parser verarbeitet. Die einzige Ausnahme bilden Passagen, die mit CData gekennzeichnet sind.
Wohlgeformte Dokumente
Mit dem KXML Editor fällt es leicht, so genannte wohlgeformte XML-Dokumente zu verfassen. Die Software hilft Ihnen dabei, die grundlegenden Sprachregeln von XML einzuhalten. Sie brauchen sich dabei also nicht um die Stellung einzelner Zeichen zu kümmern. Dass allerdings die damit erzeugten Dokumente auch von einem XML-Parser als gültig anerkannt werden, kann die Software nicht leisten. Dazu müssen Sie dem Parser auch die eingangs erwähnte DTD mitliefern. Anleitung und Hilfe, wie solche Definitionsdateien verfasst werden, finden Sie unter [4].
Ab ins Web …
Eine XML-Datei kann schnell online publiziert werden. Wie der Inhalt dargestellt werden soll, regelt das Style Sheet. Für XML-Dateien kommen grundsätzlich zwei verschiedene Typen von Style Sheets in Frage. Zum einen die aus HTML bekannten CSS-Dateien (Cascading Style Sheets). Um die zu erstellen, reicht ebenfalls ein Texteditor aus. Da die Interpretation der CSS-Stile vom Browser durchgeführt wird, brauchen Sie sich als Autor um nichts weiter zu kümmern.
Eine andere Sprache für das Erscheinungsbild von XML-Dateien ist die Extensible Stylesheet Language (XSL). Da diese deutlich komplexer ist, geben Sie am besten CSS den Vorzug.
Um unsere Beispieldatei mit einem Style Sheet zu versehen, muss der Quellcode um eine Zeile ergänzt werden, die unmittelbar unter die erste Zeile geschrieben wird.
<?xml-stylesheet href='test.css' type='text/css'?>
Damit weisen Sie einen Browser an, zur Anzeige der Datei das Style Sheet test.css zu nutzen. Diese Datei hat den folgenden Aufbau:
kontakt
{font-family:sans-serif;
display:block;
padding:25px;
border-color: blue;
border-style: solid;
margin-top: 10px;
}
name
{font-family:sans-serif;
font-size:22pt;
color:blue;
display:block;
}
vorname
{font-family:sans-serif;
font-size: 19pt;
color:blue;
display:block;
}
telefonnummer
{font-family: sans-serif;
font-size: 12pt;
color:red;
display:block;
}
Wie Sie sehen, ist der Aufbau einer CSS-Datei einfach gehalten. Die einzelnen Sprachelemente der XML-Datei werden aufgelistet und innerhalb der geschweiften Klammern Anweisungen für das Layout eingetragen. Von der Position auf der Bildschirmseite über die verwendete Schriftfamilie bis hin zur Farbe können exakte Layout-Anweisungen gegeben werden. In diesem Beispiel wird nur die genutzte Schriftfamilie (sans-serif), die Schriftgröße (font-size) und die Farbe geändert. Eine sehr gute Referenz für die einzelnen Befehle einer CSS-Datei finden Sie ebenfalls unter [2].
Weder Konqueror noch Mozilla haben mit den so erzeugten XML-Dateien Probleme und stellen diese optisch korrekt dar. Ein Beispiel sehen Sie in Abbildung 5.
Kasten 1: XML-Inhalte aus OpenOffice-Dateien in fünf Schritten extrahieren
So sehen Sie sich die XML-Struktur Ihrer Office-Dokumente an:
1. Starten Sie das Programm Ark.
2. Wählen Sie aus dem Datei-Menü den Befehl Öffnen. Markieren Sie unter Filter den Eintrag Alle Dateien.
3. Suchen Sie ein Office-Dokument heraus und bestätigen die Auswahl mit OK.
4. Es folgt nun ein Hinweis, dass es sich bei der Datei um ein unbekanntes Archivformat handelt. Markieren Sie in der Dropdown-Box den Eintrag ZIP-Archiv und klicken Sie auf OK.
5. Im Archivfenster steht der eigentliche Inhalt Ihres Dokuments in der Datei content.xml. Markieren Sie diese Datei und entpacken sie mit Aktion / Entpacken in ein Verzeichnis Ihrer Wahl. Dort können Sie diese Datei nun mit dem KXML Editor betrachten.
Glossar
-
Parser
-
Ein Programm mit der Aufgabe, die “Grammatik” eines Quelltextes zu analysieren.
Infos
[1] Frank Wieduwilt: A game of cards, LinuxUser 9/03, Seite 48 f.
[2] Informationen zu HTML und XML: http://www.selfhtml.org/
[3] Offizielle Seite des KXML Editors: http://kxmleditor.sourceforge.net/
[4] Die Seite des W3Org bietet zahlreiche Links rund um das Thema XML. Dort haben Sie auch Zugriff auf die offizielle Spezifikation unter http://www.w3.org/XML/.









