private static void transformFile()

in extscript-doccompiler/src/main/java/org/apache/myfaces/extension/scripting/doccompiler/XSLTDocCompiler.java [253:292]


    private static void transformFile(File xmlFile)
    {
        //File xmlFile = new File(strXmlFile);
        File xsltFile = new File(FilenameUtils.normalize(currentPath + File.separator + strXsltFile));

        // JAXP liest Daten über die Source-Schnittstelle
        Source xmlSource = new StreamSource(xmlFile);
        Source xsltSource = new StreamSource(xsltFile);

        // das Factory-Pattern unterstützt verschiedene XSLT-Prozessoren
        TransformerFactory transFact =
                TransformerFactory.newInstance();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        try
        {
            Transformer trans = transFact.newTransformer(xsltSource);
            trans.transform(xmlSource, new StreamResult(baos));
            String result = baos.toString("UTF-8");

            String fileName = FilenameUtils.normalize(currentPath + File.separator + strTargetDir + File.separator + xmlFile.getName().split("\\.")[0] + ".mdtext");
            File target = new File(fileName);
            FileUtils.deleteQuietly(target);
            result = formatter(result);

            FileUtils.writeStringToFile(target, result);
        }
        catch (TransformerException e)
        {
            e.printStackTrace();
        }
        catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }