package org.ateliermyosotis.commun; import java.io.File; import java.io.InputStream; import java.net.URL; import javax.swing.filechooser.FileSystemView; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; 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; public class Transformateur { public Transformateur() { super(); // TODO Auto-generated constructor stub } public void transforme(String fichier, String fichierXSL) throws Exception { File fileXml = null; StreamSource stylesource = null; Result resultat = null; try { String fichierXML = fichier + ".xml"; String fichierSortie = fichier + ".fo"; // File x = new File(fichierXML); // if (!(x.exists()))throw new Exception("xml pas bon"); String feuilleStyle = "/feuillesdestyle" + fichierXSL; // Cr�ation de la source DOM DocumentBuilderFactory fabriqueD = DocumentBuilderFactory.newInstance(); DocumentBuilder constructeur = fabriqueD.newDocumentBuilder(); fileXml = new File(fichierXML); Document document = constructeur.parse(fileXml); Source source = new DOMSource(document); // Cr�ation du fichier de sortie File filefo = new File(fichierSortie); resultat = new StreamResult(filefo); // Configuration du transformer TransformerFactory fabriqueT = TransformerFactory.newInstance(); stylesource = new StreamSource(ClassLoader.class.getResourceAsStream(feuilleStyle)); Transformer transformer = fabriqueT.newTransformer(stylesource); transformer.setOutputProperty(OutputKeys.METHOD, "xml"); // Transformation transformer.transform(source, resultat); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); throw new Exception(e); } } }