source: trunk/gsdl3/src/java/org/greenstone/gsdl3/util/XMLTransformer.java@ 3222

Last change on this file since 3222 was 3222, checked in by kjdon, 22 years ago

Initial revision

  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1package org.greenstone.gsdl3.util;
2
3// XML classes
4import javax.xml.transform.Transformer;
5import javax.xml.transform.TransformerFactory;
6import javax.xml.transform.TransformerConfigurationException;
7import javax.xml.transform.TransformerException;
8
9import javax.xml.transform.stream.StreamSource;
10import javax.xml.transform.dom.DOMSource;
11import javax.xml.transform.stream.StreamResult;
12
13// other java classes
14import java.io.StringReader;
15import java.io.StringWriter;
16
17/** XMLConverter - utitlity class for greenstone
18 *
19 * parses XML Strings into Documents, converts Nodes to Strings
20 * different parsers have different behaviour - can experiment in here
21 *
22 */
23public class XMLTransformer {
24
25 TransformerFactory t_factory_=null;
26
27 public XMLTransformer() {
28 try {
29 t_factory_ = TransformerFactory.newInstance();
30
31 } catch (Exception e) {
32 System.out.println("XMLTransformer() exception "+e.getMessage());
33 }
34 }
35
36
37
38 public String transform(String stylesheet, String xml_in) {
39
40 try {
41 // Use the TransformerFactory to process the stylesheet Source and generate a Transformer.
42 Transformer transformer = t_factory_.newTransformer(new StreamSource(stylesheet));
43
44 // Use the Transformer to transform an XML Source and send the output to a Result object.
45 StringWriter output = new StringWriter();
46
47 transformer.transform(new StreamSource(new StringReader(xml_in)), new StreamResult(output));
48 return output.toString();
49 } catch (TransformerConfigurationException e) {
50 System.err.println("XMLTransformer: couldn't create transformer object");
51 return "";
52 } catch (TransformerException e) {
53 System.err.println("XMLTransformer: couldn't transform the source");
54 return "";
55 }
56 }
57}
58
59
Note: See TracBrowser for help on using the repository browser.