Oxygen-XML-Editor 9.0

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers)

Der <oXygen/> XML Editor von SyncroSoft in der aktuellen Version 9.0 (mittlerweile 16.0, Stand Juli 2014) ist eine kompakte und übersichtlich gestaltete Umgebung mit Schwerpunkt auf der Erstellung schemabasierender XML-Dokumente. Neu in der aktuellen Version ist das sogenannte »tagless Editing« von XML-Dokumenten in einer WYSIWYG-Umgebung, das als »Autoren-Modus« bezeichnet wird und diesen sehr preisgünstigen Editor mit seiner wesentlich teureren Konkurrenz gleichziehen lässt.

Zur Entwicklung und zum Einsatz von XSLT-Stylesheets verfügt die Umgebung über einen komfortablen XSLT-Debugger. Außer XML Schema und DTD werden ebenfalls NRL-Schemas (Namespace Routing Language), die Arbeit in NVDL-Schema-Diagrammen sowie RELAX NG unterstützt. Letzteres sowohl in der XML-Version als auch in kompakter Schreibweise. Neben dem Apache FOP-Prozessor wird für XSLT-Transformationen Saxon-B 8.9 sowie Xalan mitgeliefert. Saxon-SA 8.9 muss zusätzlich erworben werden und ist dann problemlos integrierbar.

Eine Probeinstallation von <oXygen/> 9.0 kann nach Anforderung einer Testlizenz beim Hersteller 30 Tage lang getestet werden. Es existieren funktionsgleiche Versionen für verschiedene Betriebssysteme; die Download-Dateien haben jeweils eine Größe von ca. 37 MB. Das Programm setzt eine installierte Java-Laufzeitumgebung voraus (JRE 1.5 oder höher). Diese muss getrennt beschafft und installiert werden. Lediglich für die Windows-Version liegt eine Version mit integrierter JRE vor (dann ca. 50 MB). Des Weiteren existiert <oXygen/> auch als Plug-in für Eclipse 3.3 (ca. 39 MB).

<oXygen/> 9.0 – Editoransicht

Abbildung: <oXygen/> 9.0 – Editoransicht

Eigenschaften

Der <oXygen/>-Editor ist zwar primär auf die Bearbeitung von XML-Dateien, DTDs, Schemata und XSLT-Stylesheets ausgerichtet, unterstützt aber auch Code-Highlighting für C++, C, PHP, Perl und viele weitere Formate. Die Erstellung von Dokumenten wird durch typ-angepasste Vorschlagslisten in Form von Dropdown-Codehints erleichtert; dieses Feature kann auf Wunsch auch deaktiviert werden.

Für eine Vielzahl von Standardstrukturen stehen Vorlagen (Templates) zur Verfügung. Es wird beispielsweise eine umfassende Palette von DocBook- bzw. TEI-Vorlagen, aber auch solche für RDF, SMIL, FO oder SVG mitgeliefert. Auch eigene Templates für beliebige Dokumente können erzeugt werden, indem ein bestehendes Dokument als Vorlage definiert wird. Auf diesem Wege lässt sich beispielsweise eine Vorlage für XSLT 2.0-Stylesheets dem Pool hinzufügen.

Neuen XML-Dokumenten kann bei der Erstellung gleich eine DTD oder ein Schema zugeordnet werden, anhand derer eine entsprechend angepasste Vorschlagsliste (Tag Insight) für einzufügende Tags erzeugt wird. Parallel zur Quellcode-Ansicht steht eine Strukturansicht (Outline) des aktuellen Dokuments zur Verfügung (siehe Abbildung oben), die eine Navigation in umfangreicheren Dokumenten erleichtert.

Speziell für den Test von XSLT-Stylesheets ist der XSLT-Debugger, der allerdings nur mit den eingebauten Prozessoren, nicht aber mit der JAXP-Umgebung funktioniert, eine erhebliche Arbeitserleichterung. Er bietet die übliche Unterstützung mit Breakpoints, Step In und Step Out und stellt sich auch sonst sehr übersichtlich dar. Grundsätzlich werden das XML-Dokument, das Stylesheet sowie das Transformationsergebnis parallel in drei nebeneinander liegenden Fenstern gezeigt. Während des Debugging-Vorgangs erhalten Sie einen Überblick über aktuell aktivierte Template-Regeln und den Verarbeitungs-Stack. Außerdem haben Sie Zugriff auf Tracing-Informationen.

Der XSLT-Debugger von <oXygen/> 9.0

Abbildung: Der XSLT-Debugger von <oXygen/> 9.0

Projektorientierung

<oXygen/> arbeitet projektorientiert, dies jedoch nicht ausgesprochen streng. Dateien können einem oder mehreren Projekten zugewiesen werden und sich an beliebigen physischen Speicherorten befinden und per HTTP oder FTP von erreichbaren Servern geholt werden. Es ist weder möglich, mehrere Projekte gleichzeitig geöffnet zu haben, noch überhaupt kein Projekt zu öffnen (jedoch müssen dem aktuellen Projekt nicht unbedingt Dateien zugeordnet sein).

Unabhängig von einem Projekt können Dateien auch einzeln geöffnet, validiert oder bearbeitet werden. Im Editor können gleichzeitig beliebig viele Dateien unterschiedlichen Typs geöffnet sein, die über Karteireiter zur Bearbeitung ausgewählt werden.

Transformationsszenarien

Transformationsanweisungen speichert Oxygen projektübergreifend in Gestalt sogenannter Szenarien. Ein Szenario bezieht sich dabei stets auf ein statisch angegebenes Dokument, bei dem es sich entweder um ein XML-Quelldokument oder ein Stylesheet handelt. Es wird also zwischen XML- und XSL-Szenarien unterschieden. Darüber hinaus wird der zu verwendende XSLT-Prozessor bestimmt und eventuelle Parameterwerte werden festgelegt.

Den Ausgangspunkt jeder einzuleitenden Transformation bildet das im Editor aktive Dokument. Das statisch im Szenario eingebundene Dokument braucht weder geöffnet noch Teil des aktuellen Projekts zu sein. Für XML-Dokumente – hierunter fallen in diesem Zusammenhang auch XML Schema-Dateien oder RELAX NG-Schemas in ihrer XML-Ausprägung – stehen daher nur diejenigen Szenarien zur Verfügung, die statisch an ein XSLT-Stylesheet gebunden sind und umgekehrt. Eine systematische Benennung der Szenarien anhand des statisch eingebundenen Files erscheint daher sinnvoll. Die Transformation eines Stylesheets wiederum lässt sich erreichen, indem einem XSL-Szenario durch nachträgliches Editieren ein Stylesheet als XML-Quelle untergeschoben wird.

Als XSLT-Prozessoren kann dem Szenario wahlweise Saxon 6.5.3, Saxon 8.9 oder Xalan zugeordnet werden. Ein alternativer XSLT-Prozessor lässt sich über die JAXP-Schnittstelle ansprechen, was beispielsweise auch das Einbinden des Altova-Prozessors ermöglicht. Ist das Ergebnis der XSLT-Transformation ein XSL-FO-Dokument, so kann innerhalb des Szenarios mittels der integrierten FOP-Engine auch ein PDF-Dokument erzeugt werden.

Zu beachten ist jedoch, dass ein Szenario weder unabhängig gespeichert noch ohne Weiteres auf andere Dokumente übertragen werden kann (außer dupliziert und editiert). Immerhin besteht die Möglichkeit, alle Szenarien gesammelt zu exportieren (ohne dabei deren Dateibindung aufzuheben) und sie über Import einer anderen Oxygen-Installation zur Verfügung zu stellen.

Editieren in Baumansicht

Eine sehr angenehme visuelle Oberfläche zum Editieren oder Neu-Erstellen von Dokumenten bietet der in der 3er-Version neu zum Programm hinzugekommene Baumansicht-Editor (Tree Editor), der stets als unabhängiges Fenster geöffnet wird. Dem editierten Dokumentbaum können per Klick beliebige Knotentypen hinzugefügt werden. Die Baumstruktur kann teilweise eingeklappt, expandiert oder beliebig umarrangiert werden. Hierbei können wahlweise auch Attributknoten und/oder Whitespace-Textknoten angezeigt oder versteckt werden. Ist ein Dokument gleichzeitig im Quelltexteditor geöffnet, so wird es bei Änderungen wechselseitig automatisch angeglichen.

<oXygen/> 9.0 – Der Baumansicht-Editor

Abbildung: <oXygen/> 9.0 – Der Baumansicht-Editor

Fazit

Einzigartig unter den getesteten Entwicklungsumgebungen ist die für <oXygen/> gegebene Möglichkeit, auf eine deutschsprachige Bedienoberfläche umzuschalten (wahlweise auch Französisch, Italienisch, Rumänisch oder Japanisch). Vollständig ist die Eindeutschung nach wie vor nicht: So heißen die beim Start eingeblendeten Tipps nunmehr zwar »Wussten Sie schon?«, sind aber ebenso wie die Hilfe nach wie vor englisch. Sind auch die Übersetzungen hier und da grob und nicht ganz vollständig, sind diese dennoch eine Erleichterung, die auch die wesentlich teurere Konkurrenz nicht zu bieten hat.

Die Bedienung ist insgesamt übersichtlich und die Features für reine XML-, XSLT- und Schema-Entwicklung ausreichend, wenn auch nicht allumfassend. Hervorzuheben ist die einfach gelöste, aber vielseitig konfigurierbare Umwandlung der verschiedenen Schema-Formate ineinander (Trang Converter). Sind Sie speziell an der Erstellung von DocBook-Dateien interessiert, so finden Sie in Oxygen ein mit allen entsprechenden DTDs und Templates ausgestattetes Werkzeug.

Für XSLT 2.0 ist <oXygen/> vollständig eingerichtet. Der integrierte XSLT-Debugger ist allerdings zunächst nur mit den internen Prozessoren Xalan und Saxon 6.5 und Saxon 8-B nutzbar. Die schema-aware-Version Saxon-SA ist nicht im Installationsumfang enthalten, kann aber leicht nachgerüstet werden. Hierfür müssen lediglich das entsprechende jar-File und ein gültiger Lizenzschlüssel in das lib-Verzeichnis von <oXygen/> abgelegt werden. Saxon-SA ist anschließend auch für den XSLT-Debugger erreichbar. Dies gilt jedoch nicht für weitere externe XSLT-Prozessoren, die ebenfalls nachgerüstet werden können.

Erwähnenswert ist noch, dass für das ohnehin schon ausgesprochen preiswerte Programm für Ausbildungszwecke auch noch eine günstigere Academic License erhältlich ist, die dann jedoch nicht kommerziell genutzt werden darf.

Programmdaten

  • Download/Herstellerkontakt: www.oxygenxml.com
  • Entwickler: SyncroSoft, Ltd.
  • Plattform: Microsoft Windows, Mac OS X, Linux, Solaris
  • XSLT-Prozessor(en): Xalan 2.7.0, Saxon 6.5.3, Saxon 8.9 B
  • Externe Prozessoren: über JAXP
  • Sprachversionen: Englisch, Französisch, Deutsch, Italienisch, Rumänisch, Japanisch (über Präferenzen wählbar)
  • Manual/Hilfe: Englisch, umfassend. Separat herunterladbar ist ein Programmhandbuch in englischer oder französischer Sprache (PDF-Dokument, ca. 134 Seiten).
  • Status: kommerziell; 30-Tage-Testversion verfügbar

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn