/* * Created on 6.2.2006 * */ package cz.muni.fi.pb138.demo.transform; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Templates; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; import java.util.HashMap; import java.util.Map; public class TransfParameterDemo { public static void transformFileToFile(File srcFile, File styleFile, File destFile, Map parameters) throws TransformerException { TransformerFactory tf = TransformerFactory.newInstance(); Source styleSource = new StreamSource(styleFile); Transformer transformer = tf.newTransformer(styleSource); Source source = new StreamSource(srcFile); Result result = new StreamResult(destFile); for(String pn: parameters.keySet()) { transformer.setParameter(pn, parameters.get(pn)); } transformer.transform(source, result); } public static Templates precompileStyle(File styleFile) throws TransformerConfigurationException { TransformerFactory tf = TransformerFactory.newInstance(); Source styleSource = new StreamSource(styleFile); return tf.newTemplates(styleSource); } public static void transformFileToFileStylePrecompiled(File srcFile, Templates style, File destFile) throws TransformerException { Transformer transformer = style.newTransformer(); Source source = new StreamSource(srcFile); Result result = new StreamResult(destFile); transformer.transform(source, result); } /** * @param args * @throws TransformerException * @throws FileNotFoundException */ public static void main(String[] args) throws TransformerException, FileNotFoundException { Map parameters = new HashMap(); parameters.put("param1", "value1"); transformFileToFile(new File("src.xml"), new File("style1.xsl"), new File("dest.html"), parameters); } }