import uk.me.nxg.lx.reader.LxReader; import uk.me.nxg.lx.LxException; import java.io.File; import java.io.FileReader; import javax.xml.transform.TransformerFactory; import javax.xml.transform.Transformer; import javax.xml.transform.Source; import javax.xml.transform.sax.SAXSource; import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamResult; /** * Simple XSLT transformer using an Lx stylesheet. Usage is simple: *
 *    java transformer input.xml stylesheet.lx
 * 
* Output is to stdout. */ public class transformer { public static void main(String args[]) { if (args.length != 2) { Usage(); } String inputFile = args[0]; String stylesheetFile = args[1]; try { org.xml.sax.XMLReader xr = new uk.me.nxg.lx.reader.LxReader(); xr.setFeature("http://xml.org/sax/features/namespace-prefixes", false); xr.setFeature("http://xml.org/sax/features/namespaces", true); Source tranSrc = new SAXSource(xr, new org.xml.sax.InputSource (new FileReader(stylesheetFile))); Transformer t = TransformerFactory.newInstance() .newTransformer(tranSrc); t.transform(new StreamSource(new File(inputFile)), new StreamResult(System.out)); } catch (uk.me.nxg.lx.LxException e) { System.err.println("Can't create LxReader: " + e); } catch (org.xml.sax.SAXException e) { System.err.println("Can't set feature: " + e); } catch (java.io.FileNotFoundException e) { System.err.println("Can't find file " + e); } catch (java.io.IOException e) { System.err.println("IO Exception: " + e); } catch (javax.xml.transform.TransformerException e) { System.err.println("Exception: " + e); } System.exit(0); } private static void Usage() { System.err.println("Usage: java transformer input.xml transform.lx"); System.exit(1); } }