2017-02-06 4 views
1

Wenn ich folgendes in meiner XSLT-Datei verwenden, Saxon gibt die Datei mit einer Erweiterung von HTMxsl: output media-type mit der Befehlszeile

<xsl:output method="html" 
     version="5.0" 
     doctype-system="about:legacy-compat" 
     encoding="UTF-8" 
     indent="yes" 
     media-type="text/html"/> 

Allerdings, wenn ich die Transformation durch die CLI laufen und Übergeben Sie das Ausgabeargument mit! media-type = text/html Saxon gibt die Datei mit einer xml-Erweiterung aus

Unten ist der Befehl, den ich verwende, mache ich etwas falsch?

java -jar /Users/Stephane/XSLT_DEV/saxon/saxon9he.jar -s:/Users/Stephane/XSLT_DEV/S1000D/xml/ -o:/Users/Stephane/XSLT_DEV/S1000D/html/ -xsl:$file cssPath='../xslt/assets' imagesPath='graphics/' !method='html' !version='5.0' !encoding='UTF-8' !indent='yes' !media-type='text/html'; 
+0

Ich denke, CLI = Command Line Interface, nicht Common Language Infrastructure. Du hast mich für eine Weile verwirrt. –

+0

@MichaelKay In der Tat, bitte akzeptieren Sie meine Entschuldigung für die Verwirrung. –

Antwort

0

Automatische Generierung eines Ausgabedateinamen tritt nur in einem konkreten Fall: wo Sie die Befehlszeile verwenden, um ein Verzeichnis von Eingabedateien zu verarbeiten, um ein Verzeichnis der Ausgabedateien zu erzeugen. Er trifft die Entscheidung basierend auf dem Wert xsl:output/@media-type und ignoriert jeden Wert für! Media-type, der in der Befehlszeile angegeben wird. Kein besonderer Grund, aber das ist es. Der Wert lautet ".xml", ".html" oder ".txt".

In allen anderen Fällen ist der Name der Ausgabedatei genau das, was Sie gewählt haben.

+0

Vielen Dank für Ihre Antwort, was ich versuche zu tun ist, das Element nicht zu verwenden, da ich die Datei als XML (für QA-Zwecke) sowie HTML (visuell) speichern muss. Ich führe einen Build-Prozess in Sublime Text. Wenn ich das Element aus meiner Transformationsdatei entferne und den! Media-type über die Befehlszeile verwende, speichert Saxon die Datei mit einer .xml Erweiterung nicht .html –

+0

Tut mir leid, aber so funktioniert es. Sie könnten immer ein Dummy-Top-Level-Modul haben, das nur ein xsl: output und ein xsl: import enthält. –

+0

Danke. Ich habe nicht darüber nachgedacht, da ich bereits eine Top-Domain-Datei mit Importen hatte. Ich werde meine Dateiarchitektur ändern, um das zu tun. –