Java tutorial
//package com.java2s; import java.io.File; import java.io.InputStream; import java.io.OutputStream; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; public class Main { /** * Converts an XML file to an XSL-FO file using JAXP (XSLT). * @param xml the XML file * @param xslt the stylesheet file * @param fo the target XSL-FO file * @throws IOException In case of an I/O problem * @throws TransformerException In case of a XSL transformation problem */ public static void convertXML2FO(InputStream xml, File xslt, File fo) { //Setup output OutputStream out = null; try { out = new java.io.FileOutputStream(fo); //Setup XSLT TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(new StreamSource(xslt)); //Setup input for XSLT transformation Source src = new StreamSource(xml); //Resulting SAX events (the generated FO) must be piped through to FOP Result res = new StreamResult(out); //Start XSLT transformation and FOP processing transformer.transform(src, res); } catch (Exception ex) { ex.printStackTrace(); } finally { try { out.close(); } catch (Exception e) { } } } }