Mercurial > dive4elements > gnv-client
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 } |