Saxon – Optionen für die Kommandozeile

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

Saxon kennt eine Reihe von Optionen, die in der Kommandozeile unmittelbar dem Programmaufruf folgend eingesetzt werden. Hierbei können durchaus auch mehrere Optionsschalter gesetzt werden. Ihre Reihenfolge ist unerheblich, auf einige von ihnen muss jedoch eine weitere Angabe (z.B. ein Dateiname, ein Template-Name, ein Klassenbezeichner o. Ä.) folgen.

Setzen der Optionen in Kernow
Einige der in Folge beschriebenen Parameter sind auch aus Saxons Java-GUI Kernow über Konfiguration > Einstellungen Saxon zugänglich. Wo dies möglich ist, wurde dies in den Erklärungen vermerkt (rechte Tabellenspalte). Da Kernow derzeit noch auf der Version 8.9 von Saxon aufbaut, sind dort die in Saxon 9 hinzugekommenen Kommandozeilenoptionen generell (noch) nicht verfügbar.

Hier folgt eine alphabetisch geordnete Aufstellung der Kommandozeilen-Optionen von Saxon. Sie entspricht der Ausgabe, die Sie auch bei Eingabe der Option -? an der Kommandozeile erhalten (siehe Abbildung: Aufruf von Saxon 9.0 über die Kommandozeile mit Option -?). Die Optionen wurden beim Versionssprung von Saxon 8 auf Saxon 9 erweitert und ihre Syntx teilweise geändert. Die älteren Schreibweisen und Optionen sind ebenfalls angegeben. Zum Teil werden sie aus Gründen der Abwärtskompatibilität weiterhin unterstützt.

Alle folgenden Optionen gelten für die Kommandozeile unter Java und .NET und gleichermaßen für Saxon-SA als auch für Saxon-B, soweit sie nicht die Verarbeitung von XML Schema betreffen. Solche Schalt-Argumente sind ausschließlich für Saxon-SA wirksam und werden von Saxon-B ignoriert.

-a

Option Aufgabe Kernow
-a Stylesheet über PI nein

Steuerung der Verarbeitung:

Bei gesetzter Option -a wird eine Stylesheet-PI im Quelldokument herangezogen, um das verarbeitende Stylesheet zu identifizieren. Es darf keine Stylesheet-Datei genannt werden; das Setzen der Option -xsl muss also unterbleiben.

nach oben

-c:filename

Option Aufgabe Kernow
-c:filename Stylesheet als kompilierte Stylesheet-Datei nein

Steuerung der Verarbeitung:

Mittels der Option -c kann Saxon veranlasst werden, das Stylesheet-Argument auf eine kompilierte Stylesheet-Datei zu beziehen, deren Dateiname im Anschluss übergeben wird. Bei komplexen Transformationen kann ein vorkompiliertes Stylesheet die Verarbeitung wesentlich beschleunigen. Der erzielbare Geschwindigkeitsgewinn ist allerdings abhängig vom Umfang des Quelldokuments. Das Erstellen und die Arbeit mit kompilierten Stylesheet-Dateien werden auf der folgenden Seite beschrieben.

Hinweis: Die Verwendung der -xsl:filename-Option muss in diesem Zusammenhang unterbleiben.

-cr:classname (früher: cr classname)

Option Aufgabe Kernow
-cr:classname Auflösen von URI-Strings nein

Steuerung der Verarbeitung:

Übergeben wird der Name einer Java-Klasse, die URI-Strings auflösen soll, die bei der Verarbeitung mit Hilfe der Funktion collection() als Collections übergeben werden. Die (nutzerdefinierte) Klasse muss das Interface net.sf.saxon.CollectionURIResolver implementieren.

nach oben

-dtd:(on|off)

Option Aufgabe Kernow
-dtd:on Aktivierung der DTD-Validierung nein
-dtd:off Deaktivierung der DTD-Validierung nein

Steuerung der Verarbeitung:

Die Option aktiviert beziehungsweise deaktiviert die Validierung der Quelldatei und aller über document() eingebundenen Ressourcen anhand einer DTD.

-ds | -dt (deprecated)

Option Aufgabe Kernow
-ds Standard-Tree-Mode ja, alternativ
-dt TinyTree-Mode (Default) ja, alternativ

Steuerung der Verarbeitung:

Die Option -ds schaltet Saxon intern auf Verarbeitung gemäß dem traditionellen Baummodell (linked tree) um. Die alternative Option -dt bewirkt das (explizite) Umschalten auf das so genannte TinyTree-Modell, das den Default-Modus von Saxon darstellt.

Hinweis: Diese Optionen sind in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie werden in Zukunft möglicherweise abgeschafft. Verwenden Sie -tree:tiny anstelle von -dt und -tree:linked anstelle von -ds.

nach oben

-expand:(on|off)

Option Aufgabe Kernow
-expand:on Default-Werte expandieren nein
-expand:off Default-Werte nicht expandieren nein

Steuerung der Verarbeitung:

Die Option unterdrückt mit -expand:off das Einfügen von festen (fixed) Werten und Default-Werten in ein XML-Dokument, wie sie im Rahmen eines Schemas oder einer DTD festgelegt sind. Die Wirksamkeit der Option hängt vom verwendeten XML-Parser ab. Mit -expand:on wird das Expandieren von festen Werten und Default-Werten ausdrücklich gestattet (normale Arbeitsweise).

-explain[:filename]

Option Aufgabe Kernow
-explain[:filename] Stylesheet als Baum ausgeben nein

Debugging:

Die Option hilft beim Debuggen eines Stylesheets, indem sie alle Instruktionen und XPath-Ausdrücke nach Durchlaufen der Optimiererstufe in Form einer Baumstruktur als XML-Datei ausgibt. Die Ausgabe erfolgt in eine als Argument übergebene Datei. Ohne Datei-Argument gibt die Option -explain das Ergebnis am Standard Error Output (stderr) aus.

-ext:(on|off)

Option Aufgabe Kernow
-ext:on Erweiterungsfunktionen gestattet nein
-ext:off Kein Aufruf von Erweiterungsfunktionen nein

Sicherheit:

Die Option ersetzt die veraltete Option -noext.

Wird die Option mit Argument -ext:off gesetzt, so wird der Aufruf von Erweiterungsfunktionen im Stylesheet unterdrückt, sofern es sich nicht um solche von Saxon selbst oder um EXSLT-Erweiterungen handelt.

Der Hauptgrund für die Existenz dieser Option ist, sich bei der Verarbeitung von eventuell »nicht vertrauenswürdigen« Stylesheets abzusichern, die beispielsweise extern über HTTP aufgerufen wurden. In diesem Fall bestünde die prinzipielle Möglichkeit, dass ein solches Stylesheet über eine Erweiterungsfunktion eine Java-Klasse aufruft, die einen privilegierten Zugang zu Systemressourcen ermöglicht.

Das Argument -ext:on erlaubt den Aufruf aller Erweiterungen und entspricht dem Standardverhalten des Prozessors.

nach oben

-im:modename (früher: -im modename)

Option Aufgabe Kernow
-im:modename Wahl eines Start-Modus ja

Steuerung der Verarbeitung:

Wählt einen Start-Modus (initial mode) für die Verarbeitung aus. Zu übergeben ist der Bezeichner des Modus. Besitzt dieser einen Namensraum, so muss er in expandierter Form wie folgt übergeben werden: {uri}localname

-it:template (früher: -it template)

Option Aufgabe Kernow
-it:template Wahl eines benannten Templates (Name) ja

Steuerung der Verarbeitung:

Die Option -it kann nur gewählt werden, solange kein Quelldokument explizit aufgerufen wird. Es kann hierbei ein beliebiges benanntes Template des übergebenen Stylesheets über seinen Bezeichner zum Startpunkt der Verarbeitung gemacht werden.

<xsl:template name="hallo">
<html>
  <body>
    <h1>Hallo Welt!</h1>
    <xsl:apply-templates select="fn:doc('beispiel.xml')/*"/>
  </body>
</html>
</xsl:template>

Ein Aufruf, der die Verarbeitung mit dem oben stehenden Template hallo (innerhalb von named-template.xsl) startet, lautet wie folgt:

java net.sf.saxon.Transform -it:hallo named-template.xsl

Der Name des zu startenden Templates muss unmittelbar nach dem Optionskürzel übergeben werden, anschließend der Dateiname des Stylesheets. Das in der Option bezeichnete Template wird in jedem Fall zuerst ausgeführt. Von hier aus können weitere Templates aufgerufen oder auch beliebige Quelldokumente eingebunden werden (wie oben im Code-Beispiel mit fn:doc() demonstriert).

nach oben

-l:(on|off) (früher: -l)

Option Aufgabe Kernow
-l:on Zugang zu Zeilennummern des Quelltextes nein
-l:on Kein Zugang zu Zeilennummern nein
-l Veraltetete, argumentlose Version ja

Debugging:

Mit Hilfe der -l-Option erhält Saxon Zugang zu den Zeilennummern des Quelltextdokuments. Diese können anschließend (im Stylesheet) mittels der Saxon-Erweiterungsfunktion saxon:line-number() ausgewertet werden.

Hinweis: Die Option -l ohne folgendes Argument wird in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität unterstützt. Sie entspricht der expliziten Übergabe der Option -l:on. Die argumentlose Version wird in Zukunft möglicherweise abgeschafft.

nach oben

-m:classname (früher: -m classname)

Option Aufgabe Kernow
-m:classname Meldungen in Protokolldatei lenken nein

Debugging:

Normalerweise werden aus dem Stylesheet mittels xsl:message abgesetzte Meldungen (bei denen es sich um XML-Fragmente handelt) von Saxon an den Standard Error Output Stream gegeben. Mittels der Option -m kann eine Java-Klasse bezeichnet werden, die stattdessen den Datenstrom entgegennimmt und ihn in eine beliebige Protokolldatei umlenkt.

nach oben

-noext (deprecated)

Option Aufgabe Kernow
-noext Kein Aufruf von Erweiterungsfunktionen nein

Sicherheit:

Wird die Option -noext gesetzt, so wird der Aufruf von Erweiterungsfunktionen im Stylesheet unterdrückt, sofern es sich nicht um solche von Saxon selbst oder um EXSLT-Erweiterungen handelt.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -ext:off.

-novw (deprecated)

Option Aufgabe Kernow
-novw Versionswarnung unterdrücken ja

Versionswarnung unterdrücken:

Der Parameter unterdrückt die normalerweise erfolgende Versionswarnung (diese ist durch die W3C-Spezifikation vorgesehen), wenn ein XSLT 2.0-Prozessor ein XSLT 1.0-Stylesheet verarbeitet.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -versionmsg:off.

nach oben

-o:filename (früher: -o filename)

Option Aufgabe Kernow
-o:filename Erzeugung einer Ausgabedatei direkt wählbar

Steuerung der Verarbeitung:

Die wohl wichtigste Option ist -o. Sie lenkt das Transformationsergebnis in eine Datei, deren Name in Zusammenhang mit der Option übergeben wird. Solange diese Option nicht gesetzt wird, geht das Transformationsergebnis an den Standard-Output.

-or:classname (früher: -or classname)

Option Aufgabe Kernow
-or:classname URI-Resolver für xsl:result-document nein

Steuerung der Verarbeitung:

Die übergebene Java-Klasse wird als URI-Resolver eingesetzt, um die als href-Attributwert von xsl:result-document übergebenen URI-Strings aufzulösen. Die verwendete Klasse muss das Interface net.sf.saxon.OutputURIResolver implementiert haben.

-outval:(recover|fatal)

Option Aufgabe Kernow
-outval:recover Validierungsfehler des Ergebnisdokuments gestatten nein
-outval:fatal Bei Validierungsfehler abbrechen nein

Steuerung des Validierungsverhaltens:

Wird das Ergebnisdokument validiert und tritt dabei ein Validierungsfehler auf, so wird die Transformation im Regelfall mit einer Fehlermeldung abgebrochen, ohne dass ein Ergebnisdokument serialisiert wird. Dieses Verhalten kann mit der Option -outval:recover dahingehend geändert werden, dass ein Validierungsfehler lediglich als Warnung an Standard Error Output gemeldet wird und (sofern dies möglich ist) als Kommentar in einem dann serialisierten Ergebnisdokument erscheint. Mit -outval:fatal wird der Prozessor explizit zum Standardverhalten angewiesen.

nach oben

-p[:(on|off)]

Option Aufgabe Kernow
-p PTreeURIResolver aktivieren nein
-p:on PTreeURIResolver aktivieren nein
-p:off PTreeURIResolver deaktivieren nein

Steuerung der Verarbeitung (nur Saxon-SA):

Die argumentlose Option -p und die Option -p:on schalten den Prozessor in den schema-sentitiven Modus und aktiviert die Auswertung Saxon-spezifischer Dateiendungen in allen URI-Strings (eingeschlossen des per Kommandozeile übergebenen Quelldokuments). Die Option -p:off deaktiviert dies explizit.

Zurzeit wird von Saxon lediglich die Endung .ptree (parsed tree) verwendet, die es zur Erhöhung der Verarbeitungsgeschwindigkeit ermöglicht, eine bereits verarbeitete und als »Saxon PTree« gespeicherte XML-Datei direkt zu laden.

Zweitens werden bestimmte Query-Parameter ausgewertet, die die Validierung gemäß einem Schema betreffen. Derzeit ist dies der Parameter val, der die Werte strict, lax oder strip annehmen kann. Beispielsweise kann die strikte Validierung eines Dokuments mit quelldokument.xml?val=strict veranlasst werden.

Hinweis: Die Option -p ist nicht gleichzeitig mit -r anwendbar. Sie aktiviert automatisch -u und -sa (URL-Auswertungs- und Schema-Aware-Option).

nach oben

-r:classname (früher: -r classname)

Option Aufgabe Kernow
-r:classname Einbindung von URI-Resolver nein

Steuerung der Verarbeitung:

Die Option -r ermöglicht die Verarbeitung von URIs mittels einer als URIResolver bestimmten benutzerdefinierten Java-Klasse. Diese Klasse muss auf der net.sf.saxon.URIResolver-Klasse aufsetzen (extends), die einen URI-String entgegennehmen und hierfür einen SaxInputSource-Handler zurückgeben kann. Sinnvoll kann dies sein, wenn Dokumente oder Stylesheet-Module mittels xsl:include, xsl:import oder der Funktion document() eingebunden werden sollen. Eine solche Klasse könnte die Auflösung speziell formulierter URIs ermöglichen, die beispielsweise auf ein lokales Repository zeigen, etwa in der Form:

<xsl:include href="mein_repository://modul2.xsl"/>

Im Zusammenhang mit dieser Option ist auch die Option -u von Bedeutung.

-repeat:integer

Option Aufgabe Kernow
-repeat:integer Transformation wiederholen nein

Performace-Messung:

Die Option -repeat wiederholt den Transformationsvorgang je nach übergebenem Zahlenwert entsprechend oft. Dies Erleichtert die Ermittlung eines Performance-Wertes, da dieser bei einfacher Ausführung auf Grund der Latenzzeit der Java-Umgebung nur schwer exakt zu ermitteln ist.

nach oben

-s:filename (früher: -s filename)

Option Aufgabe Kernow
-s:filename Quelldokument übergeben nein

Steuerung der Verarbeitung:

Mit dem obligatorischen Parameter -s wird das Quelldokument oder auch ein Quellverzeichnis übergeben. Der Dokumentknoten des aus dem bezeichneten Dokument erzeugten Baums dient als Initialkontext der Verarbeitung (initial context). Anstelle eines Dateinamens darf der Bindestrich »-« übergeben werden. In diesem Fall entnimmt Saxon die Quellinformationen aus dem Standard Input (stdin).

Wird kein einzelnes Dokument, sondern ein Verzeichnis übergeben, so verarbeitet Saxon der Reihe nach alle in diesem Verzeichnis enthaltenen Dokumente. In diesem Falle muss die Option -o gesetzt sein, und diese muss ein Verzeichnis nennen, das die Ergebnisdokumente aufnehmen soll.

Hinweis: Die Option -it darf nicht gleichzeitig gesetzt sein. Die Übergabe einer Quelle mit -s kann ganz unterbleiben, wenn die Option -t gesetzt ist.

-sa (deprecated)

Option Aufgabe Kernow
-sa Schemabezogene Verarbeitung aktivieren nein

Steuerung der Verarbeitung (nur Saxon-SA):

Die Option -sa aktiviert die schemabezogene Verarbeitung. Sie muss gesetzt werden, sobald eine schemabezogene Verarbeitung gewünscht ist, ansonsten verbleibt der Prozessor im Basic-Mode.

Hinweis: Wenn Sie vergessen, die Option zu setzen, erhalten Sie auch mit einem gültig lizensierten Saxon-SA beim Versuch einer schemabezogenen Verarbeitung eine Fehlermeldung. Der Prozessor verhält sich in diesem Fall wie sein nicht schemafähiges Basic-Pendant.

-sall (deprecated)

Option Aufgabe Kernow
-sall Entfernen von Whitespace nein

Steuerung der Verarbeitung:

Entfernt vor der Verarbeitung alle Whitespace-Nodes aus dem Quelldokument. Dies geschieht unanhängig von Anweisungen eventueller xsl:strip-space-Instruktionen im Stylesheet oder etwaiger xml:space-Attribute im Quelldokument.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -strip:all.

-signorable (deprecated)

Option Aufgabe Kernow
-signorable Entfernen von Whitespace (ignorable) nein

Steuerung der Verarbeitung:

Entfernt vor der Verarbeitung alle nicht signifikanten (ignorable) Whitespace-Nodes aus dem Quelldokument.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -strip:ignorable.

-snone (deprecated)

Option Aufgabe Kernow
-snone Kein Entfernen von Whitespace nein

Steuerung der Verarbeitung:

Es soll vor der Verarbeitung explizit keinerlei Entfernung von Whitespace-Nodes erfolgen, wenn diese Option gesetzt ist. Hiermit ist jedoch nicht das Entfernen von Whitespace-Nodes außer Kraft gesetzt, das nachfolgend durch xsl:strip-space angeordnet wird.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -strip:none.

-strip:(all|none|ignorable)

Option Aufgabe Kernow
-strip:all Entfernen von Whitespace nein
-strip:none Kein Entfernen von Whitespace nein
-strip:ignorable Entfernen von Whitespace (ignorable) nein

Steuerung der Verarbeitung:

Ersetzt die veralteten Optionen -snone, -sall und -signorable.

Mit -strip:all werden vor der Verarbeitung alle Whitespace-Nodes aus dem Quelldokument entfernt, egal ob sie signifikant sind oder nicht.

Die Option -strip:none untersagt die Entfernung von Whitespace-Nodes explizit. Hiermit ist jedoch nicht das Entfernen von Whitespace-Nodes außer Kraft gesetzt, das nachfolgend durch xsl:strip-space angeordnet wird.

Mit -strip:ignorable erfolgt eine Entfernung von Whitespace-Nodes, sofern diese als nicht signifikant (ignorable) gelten. Dies geschieht unanhängig von Anweisungen eventueller xsl:strip-space-Instruktionen im Stylesheet oder etwaiger xml:space-Attribute im Quelldokument. Whitespace-Nodes gelten dann als »nicht signifikant«, wenn sie innerhalb von Elementen auftreten, deren Inhaltsmodell per DTD oder Schema als »Elementinhalt« definiert ist. Derartige Whitespace-Nodes entstehen durch Zeilenumbrüche oder Einrückungen im Quelltext.

nach oben

-t

Option Aufgabe Kernow
-t  Ausgabe an Standard Error Output ja

Kontrolle der Verarbeitung:

Die gesetzte Option -t veranlasst Saxon, im Standard Error Output (stderr) zusätzliche Informationen auszugeben. Hierzu gehören Informationen über den Prozessor selbst (Versionsnummer), über die Transformation (Dauer der Verarbeitung, Größe des erzeugten Dokumentbaums) und über geladene Erweiterungsmodule. Darüber hinaus werden die kompletten Pfade und Dateinamen der beteiligten Dokumente (Quelldokument, Stylesheet und Ergebnisdokument) ausgegeben.

Ausgabe von Saxon bei gesetzter Option -t

Abbildung: Ausgabe von Saxon bei gesetzter Option -t

-T

Option Aufgabe Kernow
-T  Protokoll an Standard Error Output nein

Protokollierung und Debugging:

Die für Debugging-Zwecke extrem nützliche Option -T schickt ein Protokoll der Transformation als Tracing-Information an den Standard Error Output. Aufgezeichnet wird der Aufruf aller Instruktionen und der jeweils erzeugte Output. Dies geschieht in Verbindung mit Zeilennummern, die sich auf die aktuell verarbeitete Zeile des Quelldokuments beziehen.

Die Tracing-Informationen sind in XML-Form aufbereitet und können ebenfalls mittels XSLT weiterverarbeitet oder ausgewertet werden, was in Anbetracht des Umfangs, den solche Tracing-Daten annehmen können, durchaus eine wertvolle Option darstellt.

-T:classname

Option Aufgabe Kernow
-T:classname Protokoll an Standard Error Output nein

Protokollierung und Debugging:

Bekommt die Option -T einen Classname übergeben, so muss dieser eine benutzerdefinierte Java-Klasse bezeichnen, an die die Tracing-Informationen geschickt werden sollen. Diese Klasse muss net.sf.saxon.trace.TraceListener implementiert haben.

Aufgezeichnet werden der Aufruf aller Instruktionen und der jeweils erzeugte Output. Dies geschieht in Verbindung mit Zeilennummern, die sich auf die aktuell verarbeitete Zeile des Quelldokuments beziehen.

-TJ

Option Aufgabe Kernow
-TJ  Tracer über Java-Methode ja

Debugging:

Die Option -TJ setzt einen Tracer auf den Aufruf externer Java-Methoden aus dem Stylesheet, wie es beispielsweise bei der Verwendung von Erweiterungsfunktionen vorkommt. Gedacht ist die Option für den Fall, dass ein Aufruf einer Erweiterungsfunktion fehlschlägt, weil Saxon eine entsprechende Methode nicht findet, oder unklar ist, welche Methode von verschiedenen zur Auswahl stehenden Methoden tatsächlich aufgerufen wird.

-TL classname (deprecated)

Option Aufgabe Kernow
-TL classname Java-Klasse als TraceListener nein

Debugging:

Mit der Option -TL kann eine als TraceListener dienende benutzerdefinierte Java-Klasse festgelegt werden. In dieser Klasse muss net.sf.saxon.trace.TraceListener implementiert sein.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -T:classname.

Ein Tracing-Dokument im Standard-Output

Abbildung: Ein Tracing-Dokument im Standard-Output

-TP (deprecated)

Option Aufgabe Kernow
-TP TraceListener mit Protokolldatei nein

Debugging und Optimierung:

Die Option -TP aktiviert mit dem TimedTraceListener einen speziellen TraceListener, der in einer Protokolldatei Timing-Informationen über das Verhalten der im Verlauf der Transformation aufgerufenen Instruktionen ablegt. Die so erhaltenen Informationen können (im Zuge einer Performance-Analyse) Hinweise auf das Zeitverhalten einzelner Instruktionen bieten, was wiederum zur Optimierung des Stylesheets verwendet werden kann.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -T:net.sf.saxon.trace.TimedTraceListener.

-tree:[linked|tiny]

Option Aufgabe Kernow
-tree:linked Standard-Tree-Mode nein
-tree:tiny TinyTree-Mode (Default) nein

Steuerung der Verarbeitung:

Ersetzt die veralteten Optionen -ds und -dt.

Die Option -tree:linked schaltet Saxon intern auf Verarbeitung gemäß dem traditionellen Baummodell (linked tree) um. Vorsicht – dieses Modell erlaubt nicht die Verwendung von Typ-Annotationen an Knoten!

Die alternative Option -tree:tiny bewirkt das (explizite) Umschalten auf das sogenannte TinyTree-Modell, das allerdings auch den Default-Modus von Saxon darstellt. Saxon verwendet für TinyTree, im Gegensatz zum traditionellen Baum, keine Java-Klassen zur Darstellung der Nodes, sondern Integer-Arrays, wodurch dieses Modell weniger Arbeitsspeicher benötigt. Deren Speichermehrbedarf kann pro dargestelltem Node gegenüber dem Quelldokument den Faktor 50 übersteigen, sodass der Baum eventuell den verfügbaren Arbeitsspeicher sprengt!

Das TinyTree-Modell bietet sich, neben der Möglichkeit, hier tatsächlich Typ-Annotationen einzusetzen, besonders für längere Quelldokumente an, da das hier zugrunde liegende Baummodell vom Aufbau her schneller ist. In Bezug auf die XPath-Navigation im Baum ist es jedoch für bestimmte Achsen (z.B. Preceding-Achse oder Preceding-Sibling-Achse) weniger performant. Die Dauer der Transformation hängt daher, außer vom Umfang des Quelldokuments, auch von der Programmierung des Stylesheets ab. Das erzeugte Ergebnisdokument ist in beiden Fällen identisch – unabhängig von der Wahl des Baummodells.

nach oben

-u

Option Aufgabe Kernow
-u Dateipfade als URLs nein

Steuerung der Verarbeitung:

Die Option -u unterstreicht, dass die beim Aufruf als Quelldokument- und Stylesheet-Namen übergebenen Strings als URLs zu betrachten sind. Andernfalls werden sie stets als Dateinamen (bzw. Verzeichnisnamen) betrachtet, es sei denn, sie beginnen explizit mit http: oder file:.

nach oben

-v (deprecated)

Option Aufgabe Kernow
-v Validierung aller Quelldokumente nein

Validierung:

Die erfolgreiche Verwendung der Option -v setzt das Vorhandensein eines validierenden XML-Parsers voraus. Sie aktiviert die Validierung des Quelldokuments und von weiteren Eingangsdokumenten, die per document()-Funktion eingelesen werden. Die Option steht ausdrücklich nicht mit der Berücksichtigung von XML Schema durch den XSLT-Prozessor selbst in Verbindung – es spielt keine Rolle, ob Saxon-B oder Saxon-SA eingesetzt wird.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -dtd:on.

-val[:(strict|lax)]

Option Aufgabe Kernow
-val Validierung, strikt (deprecated) nein
-val:strict Validierung, lax nein
-val:lax Validierung, strikt nein

Validierung:

Die Option -val:strict veranlasst eine strikte schemabasierte Validierung des Quelldokuments und aller sekundären Quelldokumente, die per document()-Funktion in die Verarbeitung einbezogen werden. Diese Option ist nur für Saxon-SA verfügbar. Ihre Verwendung setzt automatisch auch die -sa-Option für schemabezogene Verarbeitung. Analog ordnet auch -val:lax eine Validierung des Quelldokuments an, sofern ein Schema-Dokument hierfür zur Verfügung steht. Andernfalls erfolgt keine Validierung. Dies entspricht einer Validierung vom Typ »lax«.

Hinweis: Die argumentlose Option -val ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -val:strict.

-versmsg:[on|off]

Option Aufgabe Kernow
-versmsg:on Versionswarnung erlauben nein
-versmsg:off Versionswarnung unterdrücken nein

Versionswarnung unterdrücken:

Ersetzt die veraltete Option -novw. Der Parameter -versmsg:off unterdrückt die normalerweise erfolgende Versionswarnung (diese ist durch die W3C-Spezifikation vorgesehen), wenn ein XSLT 2.0-Prozessor ein XSLT 1.0-Stylesheet verarbeitet. Die Variante -versmsg:on erlaubt dies explizit.

-vlax (deprecated)

Option Aufgabe Kernow
-vlax Validierung, lax nein

Validierung:

Die Option -vlax veranlasst eine Validierung des Quelldokuments, sofern ein Schema-Dokument hierfür zur Verfügung steht. Andernfalls erfolgt keine Validierung. Dies entspricht einer Validierung vom Typ »lax«. Die Verwendung dieser Option setzt automatisch die Option -sa für eine schemabezogene Verarbeitung. Sie ist nur für Saxon-SA verfügbar.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -val:lax.

-vw (deprecated)

Option Aufgabe Kernow
-vw Warnung statt Fehler nein

Fehlerbehandlung:

Die Option -vw stuft Validierungsfehler, die in Zusammenhang mit dem Ergebnisbaum auftreten, zu einfachen Warnungen herunter. Es erfolgt also kein Abbruch der Verarbeitung, wenn das Ergebnis nicht validierbar ist. Diese Option ist nur für Saxon-SA verfügbar.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -outval:recover.

nach oben

-w0, -w1, -w2 (deprecated)

Option Aufgabe Kernow
-w0 Fehler ignorieren, keine Meldung ja, alternativ
-w1 Weiter nach Fehlermeldung (Default) ja, alternativ
-w2 Stets Abbruch nach Fehlermeldung ja, alternativ

Fehlerbehandlung und Debugging:

Diese drei Optionen steuern das Verhalten des Prozessors beim Auftreten von Fehlern bei der Stylesheet-Verarbeitung, die als recoverable errors eingestuft sind, also nicht zwangsläufig den Abbruch der Transformation zur Folge haben müssen.

Hierbei bezeichnet die Option -w0 das stillschweigende Ignorieren solcher Fehler (recover silently), während -w1 eine entsprechende Meldung an System Error Output absetzt. Die Option -w2 bedeutet, dass der Fehler gemeldet und grundsätzlich, auch bei behebbaren Fehlern, ein Abbruch veranlasst wird.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -warnings:silent, -warnings:recover und -warnings:fatal.

-warnings:[silent|recover|fatal]

Option Aufgabe Kernow
-warnings:silent Fehler ignorieren, keine Meldung nein
-warnings:recover Weiter nach Fehlermeldung nein
-warnings:fatal Stets Abbruch nach Fehlermeldung nein

Fehlerbehandlung und Debugging:

Ersetzt die veralteten Optionen -w0, -w1 und -w2.

Die Option -warnings steuert mit drei alternativen Argumenten das Verhalten des Prozessors beim Auftreten von Fehlern bei der Stylesheet-Verarbeitung, die als recoverable errors eingestuft sind, also nicht zwangsläufig den Abbruch der Transformation zur Folge haben müssen.

Hierbei bezeichnet -warnings:silent das stillschweigende Ignorieren solcher Fehler (recover silently), während -warnings:recover, das gleichzeitig Saxons Default-Verhalten darstellt, eine entsprechende Meldung an System Error Output absetzt. Die Option -warnings:fatal bedeutet, dass der Fehler gemeldet und grundsätzlich, auch bei behebbaren Fehlern, ein Abbruch veranlasst wird.

nach oben

-x:classname (früher: -x classname)

Option Aufgabe Kernow
-x:classname SAX-Parser für document() nein

Steuerung der Verarbeitung:

Mittels der Option -x kann ein SAX-Parser in Form einer Java-Klasse genannt werden, der das Parsen des Quelldokuments und weiterer per document()-Funktion eingebundener Dokumente übernehmen soll. Es muss sich bei dem übergebenen Klassennamen um einen voll qualifizierten Bezeichner (fully-qualified class name) einer Klasse handeln, die als Interface entweder org.xml.sax.Parser oder org.xml.sax.XMLReader implementiert.

-xi

Option Aufgabe Kernow
-xi Anwendung von XInclude nein

Steuerung der Verarbeitung:

Setzt alle an der Verarbeitung beteiligten Dokumente (alle Quelldokumente, aber auch Schema-Dokumente und Stylesheet-Module) per XInclude zu einem gemeinsamen Infoset zusammen.

Hinweis: Dies ist derzeit an den Einsatz des XML-Parsers Xerces gebunden, der Teil des JDK ab Version 1.5 ist. Für die .NET-Verarbeitung steht die Option -xi nicht zur Verfügung.

-xmlversion:[1.0|1.1]

Option Aufgabe Kernow
-xmlversion:1.0 Versionen 1.0 für XML zulassen nein
-xmlversion:1.1 Versionen 1.1 für XML zulassen nein

Steuerung der Verarbeitung:

Die Option ersetzt die veraltetete Option -1.1.

Die Option -xmlversion:1.1 erlaubt das korrekte Einlesen von XML 1.1-Quelldokumenten und das Erzeugen entsprechender Ergebnisdokumente, wobei auch Namensräume gemäß der Spezifikation XML Namespaces 1.1 berücksichtigt werden können. Gleichzeitig dürfen hiermit auch spezielle XML 1.1-Konstrukte im Stylesheet selbst auftreten. Analog definiert -xmlversion:1.0 das Default-Verhalten des Prozessors.

-xsl:filename

Option Aufgabe Kernow
-xsl:filename Einbinden des Haupt-Stylesheet-Moduls nein

Steuerung der Verarbeitung:

Die Option -xsl bindet das Haupt-Stylesheet-Modul in die Verarbeitung ein. Die Option ist obligatorisch, außer wenn die Optionen -a oder -c gesetzt sind. Der Bindestrich »-« als Wert besagt, dass die Stylesheet-Information aus dem Standard Input bezogen werden soll. Wenn auch die Option -u gesetzt ist, muss anstelle eines Dateinamens ein URI übergeben werden.

Hinweis: Aus Gründen der Abwärtskompatibilität kann alternativ nach wie vor nach allen gesetzten Optionen und vor Übergabe eventueller Parameter lediglich der Dateiname eines Stylesheets genannt werden (ohne die Option -xsl).

nach oben

-y:classname (früher: -y classname)

Option Aufgabe Kernow
-y:classname SAX-Parser für Includes nein

Steuerung der Verarbeitung:

Mittels der Option -y kann ebenfalls ein SAX-Parser in Form einer Java-Klasse genannt werden, der das Parsen des Stylesheet-Dokuments und aller per xsl:include oder xsl:import eingebundenen Stylesheet-Module übernehmen soll. Es muss sich bei dem übergebenen Klassennamen um einen voll qualifizierten Bezeichner (fully-qualified class name) einer Klasse handeln, die als Interface entweder org.xml.sax.Parser oder org.xml.sax.XMLReader implementiert.

nach oben

-1.1 (deprecated)

Option Aufgabe Kernow
-1.1 Versionen 1.1 für XML zulassen nein

Steuerung der Verarbeitung:

Das Setzen der Option -1.1 erlaubt das korrekte Einlesen von XML 1.1-Quelldokumenten und das Erzeugen entsprechender Ergebnisdokumente.

Hinweis: Diese Option ist in Saxon 9 nur noch aus Gründen der Abwärtskompatibilität enthalten. Sie wird in Zukunft möglicherweise abgeschafft. Verwenden Sie stattdessen -xmlversion:1.1.

nach oben

-?

Option Aufgabe Kernow
-? Syntaxhilfe nein

Hilfe:

Die Option -? gibt eine Übersicht über die von Saxon verwendete Kommandozeilensyntax aus, inklusive einer Kurzbeschreibung der einsetzbaren Optionen. Da hier keine Transformation eingeleitet wird, brauchen keine weiteren Angaben, wie die eines Quelldokuments oder Stylesheets, zu erfolgen.

nach oben

  

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