Test: XML Spy Suite 4.3

28.03.2002 von Mike Hartmann
XML entwickelt sich mehr und mehr zum De-facto-Standard beim Datenaustausch über das Web. Mit XML Spy bietet Altova ein Komplettpaket rund um die Datenbeschreibungssprache an. Wir haben das Tool ausführlich getestet.

XML und die dazugehörigen Standards wie XSL, Schemata und DTD haben sich bereits jetzt ihren festen Platz in der Internet-Landschaft erobert, weil sie den Datenaustausch zwischen verschiedenen Systemen und Diensten erheblich vereinfachen.

XML-konforme Dokumente lassen sich mit jedem Texteditor erstellen und bearbeiten. Zur Not sogar mit edlin oder copy con. Sollen die Dokumente allerdings auch noch einem bestimmten Schema oder einer DTD genügen, wird es komplizierter. Man muss die zu Grunde liegenden Regeln auswendig kennen und regelmäßig nachschlagen, welche Attribute und Elemente jeweils erlaubt sind.

Mit der XML Spy Suite bietet das Österreichische Software-Haus Altova eine Entwicklungsumgebung für XML-Lösungen an, die inzwischen in die vierte Generation geht. Dabei hat sich das Paket vom kleinen Tool für das Erstellen von XML-Dokumenten mächtig weiter entwickelt und bietet inzwischen einen visuellen Schema-Editor, XSLT-Designer sowie einen Dokumenten-Editor. Letzterer stellt XML-unkundigen Anwendern eine einfache Oberfläche für die Eingabe von Daten bereit, sogar via Webbrowser.

Quickinfo

Produkt

XML Spy Suite 4.3

Hersteller

Altova

Preis

399 US-Dollar

Nur IDE

199 US-Dollar

Nur Editor

199 US-Dollar

Nur XSLT Designer

99 US-Dollar

Download

www.xmlspy.com (18,4 MByte, 30-Tage-Testversion)

Voraussetzungen

Betriebssystem

Windows 9x, Me, NT, 2000, XP

Software

Internet Explorer ab 4.0 (5.5 oder 6 empfohlen)

Hardware

40 MByte Platz auf Festplatte. Während des Parsens einer XML-Datei wird etwa die zehnfache Dateigröße als RAM benötigt

XML Spy IDE

In der Entwicklungsumgebung (IDE) von XML Spy gibt es eine Auswahl zwischen verschiedenen Ansichten für ein Dokument. Die Textansicht stellt XML-konforme Dateien mittels Syntax-Highlighting dar und erlaubt beispielsweise problemloses Copy-and-Paste aus anderen Anwendungen.

Ist ein Schema oder eine DTD für das Dokument angegeben, unterstützt der Editor den Anwender bei der Eingabe in mehrfacher Hinsicht:

Mittels eines Menübefehls formatiert XML Spy den Quelltext automatisch mit Einrückungen, sodass sich der Code leichter lesen lässt. Weitergehende Funktionen bietet nur der so genannte Enhanced Grid View.

Editor - Enhanced Grid View

In der Tabellenansicht bietet XML Spy noch weitaus mehr Helfer, weshalb diese Ansicht bei den meisten Benutzern am häufigsten zum Einsatz kommen dürfte. Die Tabellenansicht ist zunächst gewöhnungsbedürftig, bietet danach aber eine optimale Übersicht über das bearbeitete Dokument.

Auf der rechten Seite finden sich wieder die "Entry Helper", je einer für Elemente, Attribute und Entities. Allerdings sind in dieser Ansicht nicht erlaubte Tags ausgegraut. Eine deutliche Erleichterung für den Benutzer - immerhin ist es gerade bei komplexen Schemata nicht leicht, den Überblick zu behalten.

Per rechter Maustaste lässt sich ein Kontextmenü aufrufen, das eine Reihe von Optionen enthält. Hervorzuheben sind die Einfügemöglichkeiten für Tags und Attribute. XML Spy zeigt die erlaubten Elemente an und fügt dann gegebenenfalls notwendige Unterelemente ein. Drag-and-Drop von Teilbereichen des XML-Dokuments sind in dieser Ansicht ebenfalls leichter: Einfach das gewünschte Tag auswählen und an die gewünschte Stelle ziehen - alle dazugehörenden Child-Elemente werden mit verschoben. Leider überprüft XML Spy beim Verschieben nicht, ob das Element dort auch tatsächlich gemäß Schema stehen darf.

Nützlich: Per Kontextmenü kann man den XPath eines ausgewählten Elements oder Attributs ins Clipboard kopieren. Das vereinfacht die Arbeit beim Erstellen von XSL-Templates.

Schema-Editor

DTDs und Schemata geben einer XML-Datei erst einen Sinn. XML Spy verfügt über einen sehr leistungsfähigen grafischen Schema-Editor, in dem sich die Beziehungen zwischen den einzelnen definierten Elementen, komplexen und einfachen Typen ablesen lassen. Mittels Dropdown-Listen wählt man unkompliziert die Restriktionen und Typvorgaben aus.

Auch im Schema-Editor stehen zusätzlich die Bearbeitungsmöglichkeiten per Enhanced Grid View und normaler Textansicht mit den jeweiligen zusätzlichen Features zur Verfügung.

Um ein Schema schnell zu überprüfen, bietet XML Spy die Option, zu einem Schema automatisch ein gültiges XML-Dokument zu erzeugen. Dabei fügt das Programm Standardwerte anhand des vorgegebenen Datentyps ein und beachtet auch sonstige durch das Schema definierte Restriktionen, wie etwa Musterfolgen für Strings.

XML Spy kann auch mit den Schema-Erweiterungen für den Microsoft SQL Server 2000 sowie Oracle 9i-Datenbanken umgehen. Über diese lässt sich konfigurieren, wie der Datenbank-Server die XML-Dokumente intern speichert und untereinander referenziert. Auch hier stehen entsprechende Entry Helper bereit.

XSLT-Designer

Natürlich kann man seine XSLT-Stylesheets auch händisch im Texteditor oder in der Tabellenansicht erzeugen und dann regelmäßig überprüfen, ob die aus dem XML erzeugte HTML-Datei den Wünschen entspricht. Einfacher wäre jedoch ein Tool, mit dem sich per WYSIWYG ein XSL erzeugen lässt. Ein solches bietet Altova mit dem XSLT-Designer, der auch separat für 99 US-Dollar erhältlich ist.

Nach dem Öffnen eines Schemas zeigt der Designer eine Liste aller definierten Tags und erlaubt die Definition von Templates per Point-and-Click. Beinahe alle HTML-Attribute sind dabei verwendbar. Sich wiederholende Tags kann man in Tabellen darstellen lassen, und XML Spy erzeugt die dafür notwendigen Select-Anweisungen.

Allerdings unterstützt der Designer kein CSS, so dass man keine wiederverwendbaren Templates für Schriftgröße oder -farbe benutzen kann. Auch fehlt eine Importmöglichkeit für bereits bestehende XSL-Dateien. Der Grund dafür ist, dass XML Spy diese automatisch generiert. Deswegen lässt sich der XSL-Code auch nicht direkt bearbeiten, was mitunter sehr störend ist: Zum einen muss man hier auf ein globales Suchen und Ersetzen verzichten - etwa um Farben zu verändern - und zum anderen kann man auch keine komplizierten Select-Anweisungen verwenden, wenn es beispielsweise darum geht, nur Elemente anzuzeigen, die ein bestimmtes Attribut aufweisen.

Der Designer ist jedoch nicht primär für die Erstellung von Stylesheets zur einfachen Umwandlung von XML nach HTML gedacht, sondern für den Dokument-Editor. In Kombination mit diesem kann man eine Umgebung erstellen, in der sich XML-Dokumente in einer separaten Applikation oder über den Webbrowser auch ohne XML-Kenntnisse erstellen lassen.

Dokument-Editor

Dieses ebenfalls separat erhältliche Add-on dient als Eingabewerkzeug für Anwender, die nur wenig oder keine XML-Kenntnisse haben. Dazu erstellt der XML-Entwickler anhand des Dokument-Schemas mit dem XSTL Designer ein Template, das definiert, welche Daten in welchen Eingabefeldern (Text, Dropdown, Checkbox, Radiobutton) bearbeitet werden können. Der Editor stellt dem Anwender dann eine Eingabemaske zur Verfügung, in der die Informationen direkt eingetragen und validiert werden. Von XML-Tags ist dabei nach außen nichts zu sehen.

Um auch die Dateneingabe über Internet zu ermöglichen, bietet Altova den Editor auch als Plug-in für den Internet Explorer an. Wie das im Einsatz aussehen kann, demonstriert der Hersteller auf der Demoseite Nanonull.

Allerdings fehlen dem Dokument-Editor die Scripting-Funktionen der Entwicklungsumgebung von XML Spy. Zusätzliche Datenvalidierung oder Eingabehilfen per Dialogbox sind damit also nicht möglich. Für grundlegende Aufgaben reicht das Tool jedoch völlig aus.

Scripting

Bei der Eingabe von XML-Daten ist es oft erforderlich, bestimmte Rahmenbedingungen zu überprüfen oder zusätzliche Aktionen auszuführen. Mitunter ist es aber auch ganz einfach praktisch, Datumsangaben per Dropdown aus einem Kalender auszuwählen, statt händisch das Datum einzugeben.

Einen Großteil der Vorgaben - etwa Pflichtelemente - fügt XML Spy ohnehin auf Wunsch automatisch ein. Für kompliziertere Aktionen kommt die Scripting-Umgebung ins Spiel. Damit lässt sich die IDE via VBScript oder JScript automatisieren.

XML Spy unterstützt benutzerdefinierte Formulare, Makros und Ereignisse. Formulare kommen zum Einsatz, wenn für eine Aktion zusätzliche Benutzereingaben erforderlich sind. Makros lassen sich über einen Menübefehl starten und präsentieren entweder ein Formular oder arbeiten direkt mit dem XML-Code. Über Ereignisse lässt sich ein Script bei bestimmten Bedingungen starten, etwa wenn der Benutzer gerade Daten verändert hat (Event On_EditingFinished) oder gerade Daten verändern will (On_BeforeStartEditing). Damit lassen sich die oben beschriebenen Szenarien für zusätzliche Datenvalidation oder Eingabehelfer erfüllen. Über die COM -Schnittstelle haben die Scripts Zugriff auf das DOM von XML Spy, darunter auch die Applikation selber, die aktuelle Ansicht des Dokuments und das Dokument.

Fazit

Insgesamt zeigt sich die XML Spy Suite als rundes Paket mit vielen Features und Hilfestellungen für Anwender und Entwickler. An manchen Stellen lässt es jedoch Flexibilität und Integration der einzelnen Bestandteile vermissen. So tauchen beispielsweise die SPS-Dateien des Designers nicht im Projektfenster der IDE auf. Auch ein direkter Start des Designers aus der IDE ist nicht vorgesehen. Dieser muss jedesmal von Hand gestartet werden. Ebenso wünschenswert wären Script-Fähigkeiten beim Dokument-Editor - immerhin verwendet XML Spy ja ohnehin die Script-Sprachen aus dem Internet Explorer.

Wer nur ein Entwicklungswerkzeug für XML braucht und auf die Kombination aus Designer und Dokument-Editor verzichten kann, sollte sich nur die IDE zulegen. Diese allein ist mit 199 US-Dollar nicht nur deutlich billiger als die ganze Suite, sondern bietet auch so gut wie keinen Anlass zur Kritik. (mha)