Kompilierte Stylesheets

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

Die Möglichkeit, Saxon mit vorkompilierten Stylesheet-Dateien arbeiten zu lassen, besteht seit der Version Saxon 7.3. Das Ziel dieses Konzepts liegt in der Steigerung der Effektivität und hiermit der Verarbeitungsgeschwindigkeit einer Transformation (ca. um Faktor 2 bis 3), da das Einlesen eines Stylesheets beschleunigt erfolgen kann, wenn es in vorkompilierter Form vorliegt.

Der Aufruf einer kompilierten Stylesheet-Datei erfolgt wie bereits beschrieben mit zusätzlicher gesetzter Option -c. Anstelle der »herkömmlichen« Stylesheet-Datei wird lediglich der Dateiname eines kompilierten Stylesheets übergeben (Saxon bezeichnet dieses als Templates object).

Zunächst muss jedoch ein Stylesheet kompiliert werden, das in dieser Form aufgerufen werden kann. Dies kann ebenfalls über einen Kommandozeilenaufruf geschehen, der allerdings die Klasse java net.sf.saxon.Compile zum Ziel hat:

java net.sf.saxon.Compile [optionen] stylesheet output

Wie beim Aufruf einer Transformation von der Kommandozeile stehen wieder einige der vorher beschriebenen Optionen zur Auswahl. In diesem Zusammenhang spielen besonders die Optionen -t, -u, -r und -y eine wichtige Rolle.

Wollen Sie das vorher verwendete Stylesheet beispiel.xsl kompilieren, so erfolgt der Aufruf (ohne Nutzung weiterer Optionen) folgendermaßen:

java net.sf.saxon.Compile beispiel.xsl beispiel.sxx

Die kompilierte Datei wird im gleichen Verzeichnis wie das Original-Stylesheet abgelegt. Der Dateiumfang ist wesentlich größer als der des nicht kompilierten Stylesheets (hier ca. 6,7 kB gegenüber 0,4 kB). Welche Dateiendung für die kompilierte Datei verwendet wird, ist freigestellt – die Endung .sxx wird von Michael Kay lediglich vorgeschlagen.

Der Aufruf des kompilierten Stylesheets entspricht beinahe dem normalen Aufruf. Zu beachten sind die Option -c sowie die hier gesetzte Option -t, um den Ablauf der Transformation zu überwachen:

java net.sf.saxon.Transform -t -c beispiel.xml beispiel.sxx

Mittels der Option -t erhalten Sie Informationen über die Dauer der eigentlichen Verarbeitung, was einen Vergleich ermöglicht. Dieser fällt durchaus eindrucksvoll aus: Gegenüber dem nicht kompilierten Stylesheet ist die Verarbeitungszeit (execution time) von 672 ms auf 266 ms gesunken.

Hinweis - Bindung an jeweilige Saxon-Version
Michael Kay weist ausdrücklich darauf hin, dass eine dergestalt »kompilierte« Datei weder Maschinencode noch Java-Bytecode enthält (somit nicht wirklich kompiliert ist), sondern dass die Daten lediglich in einer Form aufbereitet sind, wie sie von der erstellenden Saxon-Edition eingelesen werden kann.
Es ist deshalb sinnvoll, beim Wechsel zu einer neueren Saxon-Edition nicht mit den bislang erstellten kompilierten Stylesheets weiterzuarbeiten, sondern diese nach einem Saxon-Update neu zu kompilieren.

  

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