XSLTProc - parancssoros XSLT processzor

A probléma: Adott környezetben kellene olyan parancssoros alkalmazás, ami XSL tranformációt hajt végre.

Gyakran kell olyan környezetben dolgoznom, ahol nem élhetünk azzal a feltételezéssel, hogy egy adott parancssoros segédeszköz rendelkezésünkre áll. Programok telepítése ilyenkor sokszor szóba sem jöhet. Amennyiben a célkörnyezet rendelkezik Java futtatókörnyezettel, úgy az alábbi egysoros szösszenet lehetővé teszi XSL transzformációk platformfüggetlen végrehajtását.

A megoldás se nem gyönyörű, se nem exotikus, viszont rövid, hatékony és platformfüggetlen. Amennyiben rugalmasabb, jobban paraméterezhető megoldásra van szükség, úgy célszerű linux/unix környezetben az xsltproc parancs használata, ami a GNOME libxslt-re épül. Kicsi-puha környezetben az msxsl.exe az az ingyenesen letölthető komponens, ami lehetővé teszi az MSXML 4.0 XSLT motorjának parancssoros meghívását.


package hu.lithium.utils;

import java.io.File;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class XSLTProc {
	public static void main(String[] args) throws Exception {
		if (args.length != 2) {
			System.err.println("Usage: java -jar xsltproc.jar <xsltfile> <xmlfile>");
			System.exit(1);
		}
		Transformer trans = TransformerFactory.newInstance().newTransformer(new StreamSource(new File(args[0])));
		trans.transform(new StreamSource(new File(args[1])), new StreamResult(System.out));
	}
}
© 2003-2020 lithium.io7.org
Erre a weblapra a Creative Commons Nevezd meg! - Így add tovább! 3.0 Unported Licensz vonatkozik.