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); 
   	}
   }