comparison gnv/src/main/java/de/intevation/gnv/util/XSLTransformer.java @ 11:3cb753564552

Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase gnv/trunk@90 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Tue, 15 Sep 2009 14:19:55 +0000
parents
children 2f4ae7d9e058
comparison
equal deleted inserted replaced
10:e6c47838eee6 11:3cb753564552
1 /**
2 *
3 */
4 package de.intevation.gnv.util;
5
6 import java.io.ByteArrayOutputStream;
7 import java.io.File;
8 import java.io.StringBufferInputStream;
9 import java.io.UnsupportedEncodingException;
10
11 import javax.xml.transform.Source;
12 import javax.xml.transform.Transformer;
13 import javax.xml.transform.TransformerConfigurationException;
14 import javax.xml.transform.TransformerException;
15 import javax.xml.transform.TransformerFactory;
16 import javax.xml.transform.TransformerFactoryConfigurationError;
17 import javax.xml.transform.dom.DOMSource;
18 import javax.xml.transform.stream.StreamResult;
19 import javax.xml.transform.stream.StreamSource;
20
21 import org.apache.log4j.Logger;
22 import org.w3c.dom.Node;
23
24 /**
25 * @author Tim Englich <tim.englich@intevation.de>
26 *
27 */
28 public class XSLTransformer {
29 /**
30 * the logger, used to log exceptions and additonaly information
31 */
32 private static Logger log = Logger.getLogger(XSLTransformer.class);
33 /**
34 * Constructor
35 */
36 public XSLTransformer() {
37 super();
38 }
39
40 public String transform(Node toTransform, String encoding, String templateFileName){
41 String resultValue = null;
42 try {
43 XMLUtils xmlUtils = new XMLUtils();
44 Source templateSource = new StreamSource(new File(templateFileName));
45 TransformerFactory xformFactory = TransformerFactory.newInstance();
46 Transformer transformer = xformFactory.newTransformer(templateSource);
47 ByteArrayOutputStream baos = new ByteArrayOutputStream();
48 StreamResult scrResult = new StreamResult(baos);
49 log.debug(xmlUtils.writeNode2String(toTransform));
50 DOMSource source = new DOMSource(toTransform);
51 transformer.transform(source, scrResult);
52 resultValue = new String(baos.toByteArray(),encoding);
53 } catch (TransformerConfigurationException e) {
54 log.error(e,e);
55 } catch (UnsupportedEncodingException e) {
56 log.error(e,e);
57 } catch (TransformerFactoryConfigurationError e) {
58 log.error(e,e);
59 } catch (TransformerException e) {
60 log.error(e,e);
61 }
62
63 return resultValue;
64 }
65
66 }

http://dive4elements.wald.intevation.org