Schachtelhelfer

XML-Editor KXMLEditor

01.11.2001
XML wird immer wichtiger – KXMLEditor erleichtert den Umgang mit diesem Datenformat.

Frei übersetzt bedeutet XML ("EXtensible Markup Language"), "erweiterbare Auszeichnungssprache". Sie eignet sich gut zur Verwaltung strukturierter Daten, zum Beispiel kleinerer Datenbanken, und wird als Dateiformat für die verschiedensten Programme verwendet, darunter Textverarbeitungen wie KWord oder Abiword, Zeichenprogramme von Kontour bis Sodipodi, aber auch Tabellenkalkulationen wie Gnumeric und KSpread.

Wer ein XML-Dokument vor sich hat, dürfte sich an den Quellcode von Web-Seiten erinnert fühlen: Der darin enthaltene ASCII-Text enthält Auszeichnungen (Tags) in spitzen Klammern, wobei zu jedem Anfangs- ein Endtag gehören muss:

 <autor>Frank Wieduwilt</autor>

Durch die Anordnung der beiden wird klar, dass die Wörter Frank Wieduwilt im Dokument als Name eines Autors formatiert werden sollen. Soll Frank Wieduwilt nicht namentlich im Text auftauchen, aber dennoch im Dokument als Autor genannt werden, könnte man ein Tag mit Attributen verwenden:

 <autor nachname="Wieduwilt" vorname="Frank"/>

Da hier kein Text von Anfangs- und Endtag umschlossen werden muss, fasst man beide zusammen, indem vor der schließenden Klammer das Ende-Zeichen / eingefügt wird.

Im Gegensatz zu HTML, dass es mit den Endtags nicht so genau nimmt, dient XML ausschließlich dazu, ein Dokument zu strukturieren, während sich HTML auch noch um die Formatierung kümmert. Letztere übernimmt bei XML-Dokumenten eine gesonderte Formatvorlage, ein Style Sheet. Wie sich die Trennung von Struktur und Formatierung auswirkt, sehen Sie, wenn Sie die Beispieldatenbank (Listing 1), die wir in Abbildung 7 entwickelt haben, in einem XML-fähigen Browser (z. B. Konqueror) betrachten (Abbildung 1). Mangels Style Sheet zeigt er den Inhalt der Datenbank völlig unformatiert an.

Abbildung 1: Eine XML-Datei im Konqueror

Weil sich die einzelnen Elemente einer XML-Datei von einem Root-Tag ausgehend immer weiter verzweigen, stellen XML-Editoren wie KXMLEditor den Dateiinhalt in einer baumartigen Struktur, dem Dokumentenbaum, dar. Ein Tag, das weitere Unter-Tags enthält, wird als Knoten bezeichnet.

Zum Erstellen von Style Sheets gibt es eine eigene Sprache namens XSLT, "EXtensible Stylesheet Language Transformation". Mit ihrer Hilfe transformiert man die Inhalte eines XML-Dokuments in verschiedene Ausgabeformate, z. B. HTML oder pdf. Zusätzlich benötigt eine XML-Datei gelegentlich noch eine DTD, eine "Document Type Definition", in der die Verwendung der einzelnen Tags festgelegt wird. Mit Hilfe einer DTD kann beispielsweise überprüft werden, ob ein XML-Dokument wirklich nur Attribute verwendet, die für ein bestimmtes Tag auch zugelassen sind, oder ob Auszeichnungen geschachtelt werden, die gar nicht ineinander verschachtelt werden dürfen. Einen guten Einstieg in die Arbeit mit XML finden Sie in [1] und im WWW unter [2].

Wie jedes ASCII-Auszeichnungsformat kann man XML natürlich mit einem Text-Editor der Wahl schreiben. KXMLEditor erleichtert das Erstellen und Bearbeiten von XML-Dokumenten insofern, als dass seine Baumdarstellung dem Benutzer stets einen Überblick über den Dokumentenbaum bietet. Das Kopieren ganzer "Äste" innerhalb des Dokuments ist sehr bequem möglich. DTDs oder Style Sheets erstellt KXMLEditor jedoch (noch) nicht.

XML-Helfer

Sie finden das Programm unter http://kxmleditor.sourceforge.net/ und auf der Heft-CD. Red-Hat-7.x-Benutzer spielen das passende rpm-Paket als root mit dem Befehl

rpm -Uvh kxmleditor-0.6-0.1.i686.rpm

ein. Wie Sie die Software aus dem Quelltext installieren, verrät Kasten 1. Zum Programmstart geben Sie kxmleditor & in einer Konsole ein oder wählen Anwendungen / KXMLEditor im K-Menü.

Kasten 1: Installation aus den Quellen

Zum eigenhändigen Übersetzen benötigen Sie die Datei kxmleditor-0.6.tar.gz von der Programm-Homepage oder der Heft-CD. Sie entpacken sie mit dem Befehl

tar -xzvf kxmleditor-0.6.tar.gz

und wechseln ins neu entstandene Verzeichnis kxmleditor-0.6. Dort richten Sie das Programm durch Eingabe von ./configure zum Übersetzen ein, starten mit make den Kompiliervorgang und installieren es schließlich als root durch Eingabe von make install.

Als Testsystem für diesen Artikel diente ein AMD Duron mit 750 Mhz und Red Hat 7.1.

KXMLEditor begrüßt Sie mit einem dreigeteilten Programmfenster (Abbildung 2). Unterhalb der Menüzeile befinden sich zwei Werkzeugleisten: oben die allgemeine Toolbar, darunter eine Navigationszeile, die jeweils das aktive Element innerhalb der XML-Datei anzeigt. Im unteren Teil sehen Sie links die XML-Werkzeugleiste, in der Mitte eine Baumansicht, in der der Inhalt der geöffneten Datei dargestellt wird, und rechts einen Eingabebereich mit zwei Karteireitern für die Parameter der Tags und ihren Inhalt.

Die Oberflächenelemente sind zur Zeit noch englisch beschriftet, an Übersetzungen in andere Sprachen wird gearbeitet. Abbildung 3 erklärt die Bedeutung der Schaltflächen auf der XML-Werkzeugleiste.

Abbildung 2: KXMLEditor
Abbildung 3: Die XML-Werkzeugleiste

XML-Dateien bearbeiten

Am einfachsten lässt sich die Arbeit mit XML an einer bereits vorhandenen XML-Datei trainieren. Wählen Sie dazu den Punkt File / Open aus dem KXMLEditor-Menü, und laden Sie eine Abiword-, KWord- o. ä. Datei ein. Deren Struktur präsentiert sich Ihnen jetzt in der Baumansicht. In Abbildung 4 ist das Tag pagesize ausgewählt. Im rechten Teil des Arbeitsbereichs sehen Sie im Reiter Attributes, welche Attribute es besitzt und welchen Wert diese haben.

Abbildung 4: Eine AbiWord-Datei in KXMLEditor

Als Beispiel für eine neue XML-Datei eignet sich eine Adressdatenbank, denn Adressangaben besitzen eine Struktur, in der die einzelnen Attribute Vorname, Nachname, Straße, PLZ, Ort und Telefon jeweils Personen zugeordnet sind. Dazu erzeugen Sie zunächst mit File / New ein neues XML-Dokument.

Kasten 2: Wohlgeformtes und gültiges XML

Im Zusammenhang mit XML tauchen immer wieder die Begriffe wohlgeformtes (well-formed) und gültiges XML auf. Ein XML-Dokument ist dann wohlgeformt, wenn es keine eigene DTD besitzt, aber jeder Tag von einem Endtag abgeschlossen ist. Gültig (engl.: valid) wird es jedoch erst mit einer DTD, deren Regeln sein Inhalt gehorcht.

Mit KXMLEditor können Sie nur wohlgeformte XML-Dokumente erstellen, da er keine Möglichkeit bietet, eine DTD zu programmieren oder eine XML-Datei mit einer bereits vorhandenen DTD zu verknüpfen.

Jede XML-Datei muss mit der Zeile

<?xml version="1.0"?>

dem Prolog, beginnen. Um ihn einzugeben, wählen Sie XML / Insert proc. instruction aus dem Menü oder drücken die Tastenkombination [Strg+R]. Es erscheint ein Dialog, in dem Sie im target-Feld xml und im Data-Feld version = "1.0" eingeben (Abbildung 5). Die so erzeugte erste Zeile Ihres Dokuments wird nach dem Schließen des Dialogs in der Baumansicht angezeigt.

Abbildung 5: Prolog einfügen

Im Anschluss an den Prolog fügen Sie das Root-Element Ihrer XML-Datei ein. Jede XML-Datei darf nur ein solches Wurzel-Element haben, von dem alle weiteren Elemente abgeleitet werden. In unserem Beispiel heißt das Root-Element adressen.

Sie wählen XML / Insert Element aus dem Menü oder drücken [Strg+E]. Im jetzt erscheinenden Dialog geben Sie den Namen des Elements im Feld Element ein. In der Insert:-Liste links unten wählen Sie root, um das Element als Wurzel-Element zu kennzeichnen.

Abbildung 6: Einfügen eines XML-Elements

Nach diesen Vorarbeiten können die Elemente für die Datensätze definiert werden. Wählen Sie dazu das Element adressen mit der Maus aus, und fügen Sie ein weiteres Element datensatz ein. Jetzt suchen Sie im "XML Element"-Dialog in der Insert:-Liste den Eintrag at top aus, um das Element am oberen Ende des Dokuments einzufügen. Auf die gleiche Weise definieren Sie die Elemente für die einzelnen Datenfelder, bis Sie in der Baumansicht einen kompletten Datensatz wie in Abbildung 7 sehen.

Abbildung 7: Ein vollständiger Datensatz

Diesen leeren Datensatz können Sie jetzt kopieren, indem Sie das Tag datensatz markieren und Edit / Copy aus dem Menü wählen oder die Tastenkombination [Strg+C] drücken. Wählen Sie jetzt das Tag datenbank aus, und fügen Sie einen neuen, identisch aufgebauten Datensatz mit dem Befehl Edit / Paste oder dem Tastenkürzel [Strg+V] ein. Die Datenbank enthält jetzt zwei Datensätze, die beide noch leer sind.

Um die Datenfelder mit Inhalt zu füllen, markieren Sie das gewünschte Feld, wählen XML /Edit content aus dem Menü und geben im daraufhin erscheinenden Dialog den Inhalt des jeweiligen Tags ins content-Feld ein (Abbildung 8). Dieser darf mehr als eine Zeile umfassen. In der Liste Type wählen Sie zudem aus, ob die eingegebenen Daten als Text, Kommentar oder CDATA, "Character Data", zu verstehen sind. Der XML-Parser überprüft vor der Darstellung, ob Inhalt und festgelegter Typ korrespondieren; Kommentare werden bei der Ausgabe der Datei ignoriert. Beim CDATA-Typ sieht der Parser nach, ob es sich wirklich nur um Ziffern und Buchstaben handelt, bei Wahl des Inhaltstyps Text unterbleibt dieser Check.

Abbildung 8: Inhalt einfügen

Nach und nach füllen Sie jetzt alle Datenfelder mit Inhalten und fügen neue Datensätze ein. Die Reihenfolge der Datensätze ändern Sie, indem Sie ein datensatz-Tag auswählen und seine Position mit Hilfe der Schaltflächen Element nach oben verschieben und Element nach unten verschieben aus der XML-Werkzeugleiste verändern.

Listing 1

Die Beispieldatenbank

 <?xml version = '1.0' ?>
 <adressen>
         <datensatz>
                 <nachname>Wieduwilt</nachname>
                 <vorname>Frank</vorname>
                 <strasse></strasse>
                 <plz></plz>
                 <ort></ort>
                 <tel></tel>
         </datensatz>
         <datensatz>
                 <nachname>Hansen</nachname>
                 <vorname>Karl</vorname>
                 <strasse>Fischergasse 12</strasse>
                 <plz>12345</plz>
                 <ort>Seeheim</ort>
                 <tel></tel>
         </datensatz>
         <datensatz>
                 <nachname>Hagenheimer</nachname>
                 <vorname>Michael</vorname>
                 <strasse>Hauptstra? 4</strasse>
                 <plz>12543</plz>
                 <ort>Hennenheim</ort>
                 <tel></tel>
         </datensatz>
 </adressen>

Tabelle 1: Wichtige Tastenkombinationen

Aktion Tastenkürzel
Datei öffnen [Strg+O]
Datei speichern [Strg+S]
Datei schließen [Strg+W]
Programm beenden [Strg+Q]
Element einfügen [Strg+E]
Attribut einfügen [Strg+A]
Inhalt einfügen [Strg+C]
Bookmark setzen [Strg+B]

Wenn Sie die Beispiele bis hierhin nachvollzogen haben, haben Sie eine wohlgeformte XML-Datei (Listing 1), allerdings noch keine DTD und kein Style Sheet. Beides müssen Sie in einem Texteditor Ihrer Wahl erstellen und von Hand in die XML-Datei einfügen, da KXMLEditor bislang keine entsprechende Funktionalität besitzt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • XML
    Zu einer gültigen XML-Datei gehört stets eine Definition der verwendeten Tags. Wir zeigen, wie solch eine "Document Type Definition" (DTD) entsteht.
  • XML und XSLT
    XML gut und schön – doch ohne formatierte Darstellung ist es nur die Hälfte wert. Der dritte Teil unserer Miniserie beschäftigt sich mit der Ausgabe von XML-Daten mit Hilfe von XSLT.
  • XML unter KDE
    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.
  • Desktop-Datenbank Tellico
    Sie wollen einfach struktutierte Daten unkompliziert verwalten? Dann ist die komfortable Desktop-Datenbank genau das Richtige für Sie.
  • Desktop-Datenbank Tellico
    Linux ist traditionell mit Server-Datenbanken sehr gut bestückt. Was bisher fehlte, war eine einfach zu bedienende Desktop-Datenbank. Das KDE-Programm Tellico ist ein solches Programm.
Kommentare

Infos zur Publikation

title_2014_09

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...