Changeset 4701
- Timestamp:
- 2003-06-18T11:51:34+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/util/XMLTransformer.java
r3941 r4701 38 38 import java.io.StringWriter; 39 39 import java.io.File; 40 40 import java.util.HashMap; 41 import java.util.Set; 42 import java.util.Map; 43 import java.util.Iterator; 41 44 /** XMLTransformer - utility class for greenstone 42 45 * … … 92 95 return output.toString(); 93 96 } catch (TransformerConfigurationException e) { 94 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessage()); 97 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessageAndLocation()); 98 System.err.println(e.getLocationAsString()); 95 99 return ""; 96 100 } catch (TransformerException e) { … … 100 104 } 101 105 102 public String transformToString(Document stylesheet, Node xml_in) { 103 104 try { 106 public String transformToString(Document stylesheet, Document source) { 107 return transformToString(stylesheet, source, null); 108 } 109 110 public String transformToString(Document stylesheet, Document source, HashMap parameters) { 111 112 try { 105 113 // Use the TransformerFactory to process the stylesheet Source and generate a Transformer. 106 114 Transformer transformer = t_factory_.newTransformer(new DOMSource(stylesheet)); 115 if (parameters != null) { 116 Set params = parameters.entrySet(); 117 Iterator i = params.iterator(); 118 while (i.hasNext()) { 119 Map.Entry m = (Map.Entry)i.next(); 120 transformer.setParameter((String)m.getKey(), m.getValue()); 121 } 122 } 123 //transformer.setParameter("page_lang", source.getDocumentElement().getAttribute(GSXML.LANG_ATT)); 124 107 125 108 126 // Use the Transformer to transform an XML Source and send the output to a Result object. 109 127 StringWriter output = new StringWriter(); 110 128 111 transformer.transform(new DOMSource( xml_in), new StreamResult(output));129 transformer.transform(new DOMSource(source), new StreamResult(output)); 112 130 return output.toString(); 113 131 } catch (TransformerConfigurationException e) { 114 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessage()); 132 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessageAndLocation()); 133 System.err.println(e.getLocationAsString()); 115 134 return ""; 116 135 } catch (TransformerException e) { … … 120 139 } 121 140 122 public Node transform(Document stylesheet, Node xml_in) { 141 public Node transform(Document stylesheet, Document source) { 142 return transform(stylesheet, source, null); 143 } 144 145 public Node transform(Document stylesheet, Document source, HashMap parameters) { 123 146 124 147 try { 125 148 // Use the TransformerFactory to process the stylesheet Source and generate a Transformer. 126 149 Transformer transformer = t_factory_.newTransformer(new DOMSource(stylesheet)); 150 if (parameters != null) { 151 Set params = parameters.entrySet(); 152 Iterator i = params.iterator(); 153 while (i.hasNext()) { 154 Map.Entry m = (Map.Entry)i.next(); 155 transformer.setParameter((String)m.getKey(), m.getValue()); 156 } 157 } 127 158 128 159 DOMResult result = new DOMResult(); 129 transformer.transform(new DOMSource( xml_in), result);160 transformer.transform(new DOMSource(source), result); 130 161 return result.getNode().getFirstChild(); 131 162 } catch (TransformerConfigurationException e) { 132 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessage()); 163 System.err.println("XMLTransformer: couldn't create transformer object: "+e.getMessageAndLocation()); 164 System.err.println(e.getLocationAsString()); 133 165 return null; 134 166 } catch (TransformerException e) { … … 136 168 return null; 137 169 } 138 } 170 171 172 } 139 173 } 140 174
Note:
See TracChangeset
for help on using the changeset viewer.