Die Installation von Saxon 9

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

Der XSLT-Prozessor Saxon 9.x kann wahlweise auf dem Java Development Kit JDK 1.5 bzw. J2SE 5.0 (mindestens aber JDK 1.4) oder auf dem Microsoft .NET-Framework aufsetzen. Hierfür existieren zwei verschiedene Varianten des Installationsarchivs. Ein eigener XML-Parser ist in Saxon nicht enthalten, hierfür wird auf Ressourcen des jeweiligen Host-Frameworks zugegriffen.

Saxon und JDK

Ein korrekt installiertes JDK ist für einen Standalone-Betrieb der Java-Variante von Saxon unabdingbar.

Für das JAR-File der Saxon-Installation muss ein Klassenpfadeintrag vorgenommen werden. Für die B-Variante von Saxon heißt die relevante Datei saxon9.jar, für Saxon-SA ist es saxon9sa.jar.

Der genaue zur ClassPath-Variable hinzuzufügende Eintrag hängt vom gewählten Installationsverzeichnis ab, in das Sie das Zip-File entpackt haben.

Weitere auf diesem Wege einzubindende JAR-Archive sind abhängig von der Methode, mit der Saxon die DOM-Baumstrukturen zur Verfügung gestellt werden sollen – derzeit stehen DOM, JDOM, XOM und DOM4J zur Auswahl. Die einzubindenden JAR-Files lauten entsprechend:

  • saxon9-dom.jar für DOM
  • jdom.jar und saxon9-jdom.jar für JDOM
  • xom-1.1.jar und saxon9-xom.jar für XOM (getestet mit XOM 1.1)
  • dom4j-1.6.1.jar und saxon9-dom4j.jar für DOM4J

Zum Test der Installation kann Saxon probeweise per Kommandozeile aufgerufen werden. Öffnen Sie unter Windows hierfür ein DOS-Fenster. Der nicht verkürzte Aufruf lautet wie folgt (verwenden Sie ihn in jedem Fall, wenn Sie die SA-Variante einsetzen):

java net.sf.saxon.Transform -?

Erhalten Sie keine Fehlermeldung, sondern, dank der gesetzten Option -?, eine Auflistung der für Saxon zu verwendenden Kommandozeilensyntax, so können Sie fortfahren – die Installation ist arbeitsbereit

Aufruf von Saxon 9.0 über die Kommandozeile mit Option -?

Abbildung: Aufruf von Saxon 9.0 über die Kommandozeile mit Option -?

Kommandozeilenaufruf für die Java-Umgebung

Der vollständige Kommandozeilenaufruf für die Java-Umgebung lautet:

java net.sf.saxon.Transform -s:quelldocument -xsl:stylesheet -o:zieldokument

Die zu setzenden Optionsschalter -s, -xsl und -o werden im Anschluss erläutert. Anstelle der kursiv gesetzten Platzhalter sind Dateinamen zu übergeben.

Lizenzschlüssel für Saxon-SA unter Java
Der Lizenzschlüssel für Saxon SA (auch für Testversionen) liegt für die Java-Variante in Form einer Datei namens saxon-license.lic vor (ein Schlüssel für die .NET-Version von Saxon-SA funktioniert demzufolge nicht). Legen Sie die Schlüsseldatei nach Erhalt in ein Verzeichnis ab, das im Classpath eingetragen ist. Nur das Verzeichnis, nicht die Schlüsseldatei selbst, muss in den Klassenpfad aufgenommen werden.
Sofern Sie Saxon-SA von der Kommandozeile aus betreiben, müssen Sie die vollständige Syntax des Aufrufs in der Form java com.saxonica.Transform verwenden, da nur dann der Lizenzschlüssel berücksichtigt wird (ein verkürzter Aufruf wie java -jar saxon9.jar schlägt für Saxon-SA fehl).

Saxon und .NET

Eine eigene Version von Saxon setzt auf die .NET-Plattform von Microsoft auf. Voraussetzung für ihren Betrieb sind daher entweder ein installiertes .NET 1.1 oder .NET 2.0. Derzeit wird die Mono-Plattform, die .NET unter Linux nachbildet, nicht ausdrücklich unterstützt.

Die .NET-Plattform ist als Download bei Microsoft erhältlich.

Saxon für .NET unterscheidet sich von Saxon für Java lediglich durch einen zusätzlichen, in C# geschriebenen Wrapper. Der eigentliche Programmcode ist also nach wie vor in Java gehalten, wurde jedoch in MSIL (Microsoft Intermediate Language) übersetzt, um ihn als .NET-Assembly zur Verfügung stellen zu können. Saxon ist nach der Installation auch unter .NET über die Kommandozeile aufrufbar.

Für die .NET-Einbindung wird Saxon in ein beliebiges Verzeichnis, beispielsweise c:\saxon entpackt. Beachten Sie, dass Sie hierfür die .NET-Version von Saxon einsetzen müssen – die Dateien nennen sich saxonb9-0-0-1n.zip für die Basic-Version und saxonsa9-0-0-1n.zip für die schema-aware-Version Saxon-SA (für diese benötigen Sie zusätzlich einen Lizenzschlüssel). Nach dem Entpacken finden Sie im Unterverzeichnis \bin des Zielverzeichnisses die benötigten dll- und exe-Dateien.

Sinnvoll ist die Erzeugung einer Umgebungsvariablen SAXON_HOME, die auf die Installation zeigt. Dies geschieht über die Systemeigenschaften in der Registerkarte »Erweitert« (siehe Abbildung unten). Erstellen Sie die Umgebungsvariable als Benutzervariable, wenn die Installation nur von einem bestimmten Benutzer eingesetzt wird (oberes Feld der Registerkarte, Option »Neu«). Wollen Sie die Variable für Mehrbenutzerbetrieb erzeugen, so erstellen Sie sie hingegen als Systemvariable (unteres Feld der Registerkarte, Option »Neu«).

Übergeben Sie der Variable den Pfad zur Saxon-Installation (hier ist dies c:\saxon). Fügen Sie noch den Pfad zum \bin-Unterverzeichnis der Saxon-Installation der PATH-Variablen hinzu (Achtung, dies ist nicht die ClassPath-Variable!) – im vorliegenden Falle müsste c:\saxon\bin angegeben werden.

Erzeugen einer Umgebungsvariablen für Saxon

Abbildung: Erzeugen einer Umgebungsvariablen für Saxon

Kommandozeilenaufruf für die .NET-Umgebung

Der Kommandozeilenaufruf lautet unter .NET wie folgt:

Transform -s:quelldokument -xsl:stylesheet -o:zieldokument

Die zu setzenden Optionsschalter -s, -xsl und -o werden auf der nächsten Seite erläutert. Anstelle der kursiv gesetzten Platzhalter sind Dateinamen zu übergeben.

Lizenzschlüssel für Saxon-SA unter .NET
Der Lizenzschlüssel für Saxon-SA (auch für Testversionen) liegt in Form einer XML-Datei vor. Legen Sie diese nach Erhalt in das \bin-Unterverzeichnis Ihrer Installation ab. Nur dieser xml-Schlüssel funktioniert für eine .NET-Installation, ein lic-Schlüssel der Java-Version von Saxon-SA ist nicht verwendbar.
Beachten Sie, dass Sie, wie oben beschrieben, eine Umgebungsvariable SAXON_HOME eingerichtet haben müssen, damit die Schlüsseldatei erfolgreich eingebunden werden kann.

Serverseitige Installation von Saxon über PHP ansprechen

Der Saxon-Prozessor kann auf einem beliebigen Server, der über eine funktionierende Java Runtime Environment (JRE) verfügt, über das Open Source Add-in XML_XSLT2Processor auch über PHP angesprochen werden und ermöglicht so die Ausführung von XSLT 2.0-Transformationen in einer PHP-Umgebung.

  

<< 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