Passendes Werkzeug für den XML-Job
Artikel erschienen in Swiss IT Magazine 2001/11
Ob man XML zur Beschreibung distribuierter Dokumente oder in komplexen Applikationsgerüsten einsetzen will, stellt die Aufgabe unterschiedliche Anforderungen an das Werkzeug. Da gegenwärtig XML in aller Munde ist, war es nicht leicht, das Marktsegment eindeutig abzugrenzen. Wir waren dennoch bestrebt, uns auf eigentliche XML-Editoren zu beschränken, d.h. auf Programme, die für das Erstellen und Redigieren von XML-Dokumenten berechnet sind.
Einige Hersteller bieten eine ganze Suite von Produkten an. So umfasst beispielsweise die Turbo XML Suite von TIBCO Extensibility den XML Editor XML Instance, den Schema-Editor XML Authority und das Batchverarbeitungsprogramm XML Console. In der Übersicht ist jedoch nur XML Instance berücksichtigt, da es sich bei den anderen Programmen nicht eigentlich um XML-Editoren handelt. Einzelkomponenten aus grösseren Programmsuiten wurden also nur dann berücksichtigt, wenn die entsprechende Komponente separat zu erwerben ist.
Gerade weil die Programme oft für verschiedene Einsatzbereiche konzipiert sind, ist es nicht immer leicht, gemeinsame Vergleichspunkte zu finden.
In der Übersicht finden Sie unter anderem folgende Kriterien: Bei den unterstützten Dateiformaten war XML natürlich ein Muss. Daneben arbeiten einige Programme mit eigenen Dateiformaten, andere wiederum unterstützen eine ganze Reihe von Standardformaten. Einige Produkte unterstützen beispielsweise HTML und CSS und können so in gewisser Weise gleich auch als HTML-Editoren verwendet werden. Andere Tools wiederum bearbeiten auch XSL und DTD und sind somit tiefer in der XML-Welt verankert. Zudem verwenden drei der aufgeführten Produkte auch ein eigenes Dateiformat, das vorzugsweise zum Speichern ganzer XML-Projekte dient.
Da sich XML-Projekte oft über eine ganze Reihe von Dateien erstrecken, ist auch eine globale Suchen- und Ersetzenmöglichkeit ganz nützlich. Allerdings ist eine solche Funktion bei weitem nicht überall implementiert.
Ein weiteres nützliches Feature ist eine Eingabehilfe für Tags. Dabei lassen sich verschiedene Systeme unterscheiden. In einigen XML-Editoren findet man beispielsweise eine kontextabhängige Hilfe, bei der die Tags entsprechend dem Aufbau des Dokuments automatisch eingesetzt werden. Andere Programme begnügen sich mit dem Einsetzen des Schluss-Tags, wenn ein Starttag eingegeben wird. Eine dritte Methode ist die Auto-Completion, bei der Tags anhand der ersten eingetasteten Buchstaben ergänzt werden.
Bei fast allen Produkten können ebenfalls XML-Strukturen auf ihre Korrektheit überprüft werden. Im Gegensatz zu HTML ist XML stringenter definiert und damit einfacher auf Konformität und Konsistenz zu überprüfen. Dabei arbeiten einige Programme mit Microsoft Internet Explorers Validating Machine (MSXML), andere wiederum haben Prüfroutinen eingebaut oder können auf Drittprodukte zurückgreifen.
Neben der eigentlichen Syntaxüberprüfung, bieten einige Tools auch eine sogenannte Tidy-Funktion, mit welcher der XML-Code homogen strukturiert und damit leicht lesbar gehalten werden kann. Bei Editoren, die jedoch vorwiegend in hierarchischen Baumstrukturen arbeiten, erübrigt sich eine solche Funktion freilich.
Die umfassendsten der aufgelisteten XML-Editoren können mit DTDs von verschiedenen Quellen umgehen.
Unterstützt der Editor XSL, kann meist sowohl Inhalt als auch Form der XML-Dokumente in andere Dateiformate konvertiert werden. Ebenfalls nützlich ist CSS-Unterstützung, da mit Cascading Style Sheets XML-Dokumente direkt formatiert werden können.
Wer XML für den Austausch von Daten in verschiedenen Sprachen und Zeichensätzen verwenden will, sollte bei der Wahl eines XML-Editors auch der Unterstützung des Unicode-Zeichensatzes Beachtung schenken.
Fast alle Programme bieten die Möglichkeit, die Daten auf verschiedene Weise anzuzeigen. Dabei ist die Code-Ansicht mit gefärbten Tags zwar beliebt, aber für XML nicht immer die geeignetste Darstellungsweise. Oft bietet eine hierarchische Baumstruktur grösseren Überblick. Die hierarchische Darstellung ist oft unterschiedlich realisiert oder wird zumindest unterschiedlich bezeichnet. Dennoch ist der Grundgedanke dahinter, dass die hierarchische Gliederung des Dokuments grafisch abgebildet wird.
Einige Programme arbeiten auch in einem WYSIWYG-Modus, in dem Dokumente mit den entsprechenden CSS oder Schemas live bearbeitet werden können. Obwohl diese Möglichkeit sicher von einigen Usern geschätzt wird, ist jedoch gerade eine der Stärken von XML, dass Form und Inhalt unabhängig voneinander sind. Nicht zu verwechseln mit WYSIWYG ist die Dokumentvorschau (Preview), bei der das Aussehen einer XML-Datei mit Hilfe von Schemas oder CSS angezeigt werden kann. Obwohl Dateien in der Vorschau oft nicht redigiert werden können, ist diese Funktion insbesondere dann nützlich, wenn die aktuellen Formatierungsinformationen verwendet werden.
Bei den umfassendsten XML-Editoren kann auch eine Datenbankanbindung mit ODBC durchgeführt werden. Immerhin stehen bei den meisten XML-basierten Projekten Datenbanken im Hintergrund.
Datenbankinhalte können bei den entsprechenden Editoren entweder tabellarisch angezeigt werden oder direkt ins XML-Format konvertiert werden. Auch hier besticht XMetal mit einer hervorragenden Umsetzung dieser Funktion. So können Verbindungen zu allen ODBC-kompatiblen Datenbanken erstellt, Datensätze mit Hilfe eines grafischen SQL-Editors herausgelesen und als HTML- oder CALS-Tabellen sowie als XML ins aktuelle Dokument übernommen werden.
Abhängig davon welche Windows-Version verwendet wird, ist bei einigen XML-Editoren mit Datenbankfunktionen eine Installation respektive ein Update der MDAC-Komponenten erforderlich, da diese nicht im Lieferumfang enthalten ist. Sie kann jedoch kostenlos von der Microsoft-Homepage heruntergeladen werden.
Ebenfalls um höheren User-Ansprüchen gerecht zu werden, kann in einigen Programmen mit Macros und/oder Scripten gearbeitet werden. Ausser bei XFA Edit, welcher eine eigene Scriptsprache verwendet, handelt es sich hierbei um Sprachen, die mit dem Windows Scripting Host konform sind.
Einige Editoren, insbesondere XMetal, verfügen über eine Reihe spezieller Funktionen. So sind Morphon XML Editor und XML Spy beispielsweise erweiterbar mit Plug-ins, die teilweise frei vom Internet heruntergeladen werden können. XML Writer unterstützt einen Kommandolinienmodus, in welchem das Programm von der Befehlszeile aus mit verschiedenen Parametern gestartet werden kann. Dadurch kann die Applikation unter anderem von Scripten und Batchprogrammen gesteuert werden.
XMetal, das wohl umfassendste XML-Editing-Programm in dieser Übersicht, unterstützt OASIS-Kataloge, also ein Mechanismus zur Einbindung externer Beschreibungen in DOCTYPE-Einheiten gemäss dem Standard von OASIS (Organization for the Advancement of Structured Information Standards). Ebenfalls unterstützt ist das Document Object Model (DOM) des World Wide Web Consortium (W3C).
Wir haben uns bei der Auswahl der XML-Editoren ausschliesslich auf die Windows-Plattform beschränkt.
Einige der hier präsentierten Editoren sind jedoch beispielsweise auch für Linux und/oder Solaris erhältlich. Da XML ja eine plattformunabhängige Meta-Sprache ist, lag es für viele Produzenten nahe, auch einen systemunabhängigen Editor zu entwickeln. Oft wurden zu diesem Zweck die Programme in Java entwickelt. Daher ist bei den betreffenden Produkten auch eine Java Runtime Environment (JRE) notwendig, die allerdings bei den meisten Betriebssystemen einsatzbereit integriert ist.
Die Dokumentation der Programme ist einer der Punkte, die schwer in einer Tabelle verglichen werden können. Grundsätzlich werden alle Editoren mit einer Hilfedatei geliefert.
Bei einigen Programmen finden sich ausserdem Tutorials oder Einführungs-Guides. Sie bieten gerade dem XML-Novizen eine einfache Möglichkeit, um sich mit der Materie vertraut zu machen. Allerdings ist der Umfang oder die Anzahl der Hilfedateien selten ausschlaggebend für deren Qualität. Im Vordergrund der Dokumentation sollte sich die Bedienung des Programms finden. Zwar ist eine generelle Einführung in XML oft nützlich, im Gegensatz zur eigentlichen Bedienungsanleitung für das Programm, sind die Spezifikationen und Auslegungen des XML-Standards aber problemlos im Internet zu finden.
Ebenso wenig Anhalt bietet die Tabelle über Bedienungskomfort und Stabilität der Programme. Die meisten der aufgeführten XML-Editoren sind allerdings als frei zugängliche Trial-Versionen erhältlich, so dass ein Probelauf nicht nur möglich, sondern unbedingt auch empfehlenswert ist.
Bei der Entscheidung für den einen oder anderen XML-Editor wird wohl immer auch der Kaufpreis des Produktes ausschlaggebend sein.
Im allgemeinen ist das Preis/Leistungsverhältnis der aufgelisteten Editoren konstant. Einzig bei XFA Edit, der als Erweiterung von Lugaru Epsilon zusammen mit diesem Editor für satte 500 Dollar vertrieben wird, kann man sich fragen, wie der etwas hohe Preis zu vertreten ist. Zumal das Tool ausser der Unterstützung für den Emacs- und Brief-Kommandosatz sowie Makros und Scripts im Vergleich mit den meisten Konkurrenten nur wenige Vorteile mit sich bringt. Für etwa denselben Betrag ist auch XMetal erhältlich, das aber - als quasi Marktführer - punkto Funktionsumfang XFA Edit weitaus überlegen ist. Als billigere Alternative zu XMetal ist XML Spy mit 199 Dollar bestimmt auch eine empfehlenswerte Option.
Das grosse Feld der XML-Editoren liegt preislich denn auch zwischen 100 und 200 Dollar, und für diesen Betrag kann man durchaus ein brauchbares XML-Programm erstehen. Aber auch XML Writer, der gerade nur 41 Dollar kostet, ist ein brauchbares Editing-Tool, das im Verhältnis zum niedrigen Preis die meisten wirklich relevanten Funktionen unterstützt.