2016-11-09 2 views
0

hereと記載されているものを使用してコマンドラインにXSLトランスフォームを正常に適用しましたが、この例はJava 6またはそれ以前のバージョンでのみ動作するようです。私はcom.sun.org.apache.xalan.internal.xslt.Processをcliとして使うべきだと言っている例を見ていますが、私はそれを試してみるとJava 8を使用してコマンドラインでXSL変換を適用するにはどうすればよいですか?

Java 8のコマンドラインでXSL変換を適用する方法はありますか?

私はairgapped環境で働いていますので、何かダウンロードが必要なソリューションは動作しません。私はJDKとJREにしかアクセスできません。

+0

javaインストールでxalan * .jarを探して、java -jar ...で呼び出すか、xalan.apache.orgからxalanjをダウンロードして使ってみてください。 –

+0

申し訳ありませんが、 airgapped環境では何もダウンロードできません。しかし、私はxalan瓶を探して与えるでしょう。 – Fylke

答えて

0

これは、あなたが参照したものとは異なるアプローチです。 XSLTをJavaクラスにあらかじめコンパイルする必要がある場合を除き、これを使用することもできます。このアプローチの利点は、コードがJAXP XSLTのさまざまな実装に依存しないことです。

はそれが瓶として、あるいはいつものようにCLIからクラスとして実行

TransformerFactory transformerFactory = TransformerFactory.newInstance(); 
Transformer transformer = transformerFactory.newTransformer(xsltAsDomSource); 
transformer.transform(inputXmlSource, outputXmlResult); 
をあなたはXSLTをロードするJavaコードのために次のことを試してみて、XMLファイルに適用します。あなただけ言うならばJDK8はプレパック、デフォルトのXSLTプロセッサを使用します。ただし

java -jar yourJarName.jar 

を使用すると、特定のXSLTプロセッサを使用してより多くのコントロールを望んでいた場合は、「はjavax.xml.transform.TransformerFactory」パラメータを使用することができます選択した実装クラスを指定します。より理解しやすいようにJDK8 TransformerFactory API Docを読んでください。

+0

こんにちは、甘い、それを考えなかった。もちろん、それはうまくいく、私はそれを渦巻くよ! – Fylke

関連する問題