Home / LinuxUser / 2001 / 11 / XML-Editor KXMLEditor

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(233 Punkte bei 16 Stimmen)
Re: War doch klar...
(162 Punkte bei 6 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

518 Hits
Wertung: 69 Punkte (1 Stimme)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...