1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package net.sf.webmancer.util.xml.xslt;
22
23 import java.io.InputStream;
24 import java.io.OutputStream;
25 import java.io.Reader;
26 import java.io.Writer;
27
28 import javax.xml.transform.Result;
29 import javax.xml.transform.Source;
30 import javax.xml.transform.Templates;
31 import javax.xml.transform.Transformer;
32 import javax.xml.transform.TransformerConfigurationException;
33 import javax.xml.transform.TransformerException;
34 import javax.xml.transform.TransformerFactory;
35 import javax.xml.transform.stream.StreamResult;
36 import javax.xml.transform.stream.StreamSource;
37
38
39
40
41 public class XsltTransformer {
42
43
44
45 private Templates templates;
46
47
48
49
50 public XsltTransformer(final InputStream transformationDefinition) throws TransformerConfigurationException {
51 super();
52 TransformerFactory transformerFactory = TransformerFactory.newInstance();
53 this.templates = transformerFactory.newTemplates(new StreamSource(transformationDefinition));
54 }
55
56
57
58
59
60
61
62
63
64
65
66 protected Transformer getTransformer() throws TransformerConfigurationException {
67 Transformer transformer = this.templates.newTransformer();
68 return transformer;
69 }
70
71
72
73
74
75
76 public void transform(final Source source, final Result target) throws TransformerException {
77 getTransformer().transform(source, target);
78 }
79
80
81
82
83
84
85 public void transform(final InputStream source, final OutputStream target) throws TransformerException {
86 StreamSource transformSource = new StreamSource(source);
87 StreamResult transformResult = new StreamResult(target);
88 this.transform(transformSource, transformResult);
89 }
90
91
92
93
94
95
96 public void transform(final Reader source, final Writer target) throws TransformerException {
97 StreamSource transformSource = new StreamSource(source);
98 StreamResult transformResult = new StreamResult(target);
99 this.transform(transformSource, transformResult);
100 }
101
102
103
104
105
106
107 public void transform(final InputStream source, final Writer target) throws TransformerException {
108 StreamSource transformSource = new StreamSource(source);
109 StreamResult transformResult = new StreamResult(target);
110 this.transform(transformSource, transformResult);
111 }
112
113
114
115
116
117
118 public void transform(final Reader source, final OutputStream target) throws TransformerException {
119 StreamSource transformSource = new StreamSource(source);
120 StreamResult transformResult = new StreamResult(target);
121 this.transform(transformSource, transformResult);
122 }
123
124 }