JAXenter

Das Portal für Java, Architektur, Cloud & Agile

XML ohne spitze Klammern

Mit Eclipse Vex XML-Dateien wie mit einer Textverarbeitung editieren

XML ohne spitze Klammern

Hier kommt Vex [1] ins Spiel. Vex steht für "Visual Editor for XML" und ist eine Art WYSIWYG-Editor für alle XML-Formate, für die sowohl das Format per DTD als auch die Darstellung mittels CSS definiert sind. Das Einfügen eines neuen XML-Elements ist in Vex genauso einfach wie das Umschalten auf Fett- oder Kursivschrift in einer Textverarbeitung: Cursor an die gewünschte Stelle setzen bzw. den auszuzeichnenden Text selektieren und das einzufügende Element auswählen (Abb. 1), fertig. Zusätzlich zu der angezeigten Start- und Endmarkierung ändert sich die Darstellung wie beispielsweise Schriftgröße und -farbe, Unterstreichung oder Umrandung entsprechend den Vorgaben des Stylesheets. Im Gegensatz zu XML im Quelltext wird der Lesefluss nicht durch Tags gestört, sondern durch die entsprechende Formatierung des ausgezeichneten Texts unterstützt. Im Unterschied zu einem Textverarbeitungsprogramm, das "fett" und "kursiv" prinzipiell überall erlaubt, bietet Vex nur die Elemente zum Einfügen an, die an dieser Stelle zugelassen sind.

Wozu ist das gut?

In der technischen Dokumentation sind die Formate DITA und DocBook am verbreitetsten. Ein reichhaltiges Angebot an kommerziellen und freien Konvertierungsmöglichkeiten in verschiedenste Endformate wie HTML und PDF gibt es für beide. Und beide XML-Dialekte können mit Vex direkt editiert werden, entsprechende Stylesheets sind vorkonfiguriert. Zwar liegt Dokumentation in einem Wiki zu erstellen im Trend, aber DITA und DocBook sind stärker strukturiert als Wikiformate. Das Tastaturkürzel STRG + S für Speichern wird in DocBook beispielsweise nicht nur als Text in Kursivschreibweise, sondern als keycombo-Konstrukt aus zwei keycap-Elementen für STRG und S dokumentiert. Das macht zwar das Dokumentieren aufwändiger, bietet aber dafür letztendlich mehr Möglichkeiten. Beispielsweise könnte durch den Abgleich der Liste der dokumentierten Tastaturkürzeln mit den vorhandenen herausgefunden werden, ob alle Tastaturkürzel beschrieben wurden und ob es die dokumentierten Tastaturkürzel auch tatsächlich gibt. Oder, wenn man sich besonders viel Mühe geben will, kann man beim Generieren des Benutzerhandbuchs die Tastaturkürzel durch Abbildungen der entsprechenden Tasten ersetzen.

Aber auch in der Computerlinguistik und den Sprachwissenschaften können WYSIWYG-XML-Editoren bei der Erstellung großer, manuell oder teilweise manuell getaggter Textsammlungen helfen. Diese so genannten Textkorpora dienen dem Validieren, als Trainingsdaten für Parser oder als Datengrundlage für statistische Auswertungen. Mit Korpora können Grammatikregeln, die jeder Fremdsprachenlerner pauken muss, überprüft werden, z. B. ob oder wie weit sie mit der Realität übereinstimmen. Sie helfen bei Fragestellungen, wie beispielsweise der, wie sich gesprochene von geschriebener Sprache unterscheidet, was charakteristisch für einen bestimmten Dialekt oder eine nationale Varietät einer Sprache ist, oder wie sich Sprache im Lauf der Zeit verändert. Der TiGer-Korpus [2] beispielsweise besteht aus 50 000 Zeitungssätzen der Frankfurter Rundschau. Annotiert wurde für jedes einzelne Wort die Wortart und für jeden Satz der Syntaxbaum. Solche Korpora werden zur Entwicklung von Computerprogrammen benötigt, die Wörter in ihrem Zusammenhang verstehen - wie z. B. die Suchmaschine WolframAlpha [3], die in der Lage ist, auf die Anfrage "How old was Michael Jackson when Elvis Presley died?" nicht wie Google mit einer Liste von Webseiten zu antworten, sondern wie man es von "Data" vom Raumschiff Enterprise erwarten würde mit "18 Jahre, 11 Monate, 18 Tage".

Update und los

Es gibt noch keine Updatesite für Vex, aber aktuelle Builds können unter [4] heruntergeladen werden und vielleicht bald über den neueren Continuous Integration Server bei Eclipse [5]. Installiert wird Vex, indem das heruntergeladene und ausgepackte ZIP-Archiv in den dropin-Ordner von Eclipse kopiert wird. Zuvor müssen aber Eclipse XML Editors and Tools installiert werden oder man verwendet die Eclipse IDE for Java EE Developers, die alles Notwendige mitbringt.

In RCP-Applikationen, wie die zur Dokumentations- oder Korpuserstellung, kann Vex auf drei verschiedene Weisen integriert werden. Am aufwändigsten ist es, das Vex Widget direkt zu nutzen. Dafür lässt es sich dann aber auch überall einbauen, also auch in Views oder Dialogen. Deutlich einfacher ist es, gleich den Vex-Editor zu verwenden und nur das oder die XML-Formate sowie ihre Darstellung über Extension Points zu registrieren. So sind DITA und DocBook als jeweils ein Daten-Plug-in realisiert, das die entsprechenden DTD- und CSS-Dateien enthält und sie über die entsprechenden Extension Points bekannt machen. Sind die DTD- oder CSS-Dateien ständigen Änderungen unterworfen, bietet sich die dritte Möglichkeit an. Format- und Darstellungsbeschreibungen sind dabei nicht Bestandteil der Entwicklungsumgebung, sondern eines Vex-Plug-in-Projekts.

Bastelstunde

Um Vex besser kennen zu lernen, werden wir im Folgenden selbst eine kleine Anwendung bauen. Wir wollen Kontaktdaten in einem Fließtext aus beispielsweise via OCR eingelesenen, eingescannten Visitenkarten markieren, um daraus per XSLT-Skript ein Adressverzeichnis zu generieren. Denkbar sind aber auch andere Szenarien, in denen vorhandener Text manuell annotiert wird oder hierarchisch strukturierte Daten eingegeben bzw. editiert werden und dann der Text bzw. die Daten automatisiert weiterverarbeitet werden. Beispielsweise könnte man alternativ in einem Rezept die Zutaten annotieren, um daraus die Zutatenliste zu erstellen oder so aus einem Spielbericht Statistiken gewinnen.

 
Verwandte Themen: 

Kommentare

Ihr Kommentar zum Thema

Als Gast kommentieren:

Gastkommentare werden nach redaktioneller Prüfung freigegeben (bitte Policy beachten).