Mercurial > hg > mpdl-group
diff software/mpdl-services/mpiwg-mpdl-xml/src/de/mpg/mpiwg/berlin/mpdl/xml/transform/BasicTransformer.java @ 23:e845310098ba
diverse Korrekturen
author | Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 27 Nov 2012 12:35:19 +0100 |
parents | dc5e9fcb3fdc |
children |
line wrap: on
line diff
--- a/software/mpdl-services/mpiwg-mpdl-xml/src/de/mpg/mpiwg/berlin/mpdl/xml/transform/BasicTransformer.java Wed Dec 14 13:57:09 2011 +0100 +++ b/software/mpdl-services/mpiwg-mpdl-xml/src/de/mpg/mpiwg/berlin/mpdl/xml/transform/BasicTransformer.java Tue Nov 27 12:35:19 2012 +0100 @@ -104,6 +104,29 @@ return retStr; } + public String transform(StringReader inputStrReader, String xslUrl, String parametersStr, String outputPropertiesStr) throws ApplicationException { + String retStr = null; + try { + StreamSource xslStreamSource = new StreamSource(xslUrl); + XsltExecutable xsltExecutable = xsltCompiler.compile(xslStreamSource); + xsltTransformer = xsltExecutable.load(); + StreamSource xmlDoc = new StreamSource(inputStrReader); + Serializer serializer = new Serializer(); + StringWriter stringWriter = new StringWriter(); + serializer.setOutputWriter(stringWriter); + setOutputProperties(serializer, outputPropertiesStr); + xsltTransformer.setSource(xmlDoc); // needs some time for bigger documents + xsltTransformer.setDestination(serializer); + setParameters(xsltTransformer, parametersStr); + xsltTransformer.transform(); // needs some time for bigger documents + StringWriter out = (StringWriter) serializer.getOutputDestination(); + retStr = out.toString(); + } catch (SaxonApiException e) { + throw new ApplicationException(e); + } + return retStr; + } + private String getEncoding(String outputPropertiesStr) { String str = outputPropertiesStr.toLowerCase(); String encoding = null; @@ -228,7 +251,7 @@ // String pageFragment = serializer.getOutputDestination().toString(); // System.out.println(pageFragment); } catch (SaxonApiException e) { - throw new ApplicationException(e); + throw new ApplicationException(e); } }