1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.umo.transformer.TransformerException;
14
15 import javax.xml.transform.OutputKeys;
16 import javax.xml.transform.Source;
17 import javax.xml.transform.Transformer;
18 import javax.xml.transform.TransformerFactory;
19
20 import org.w3c.dom.Document;
21
22
23
24
25 public class XmlToDomDocument extends AbstractXmlTransformer
26 {
27
28 public XmlToDomDocument()
29 {
30 registerSourceType(String.class);
31 registerSourceType(byte[].class);
32 }
33
34 public Object doTransform(Object src, String encoding) throws TransformerException
35 {
36 try
37 {
38 Source sourceDoc = getXmlSource(src);
39 if (sourceDoc == null) return null;
40
41
42
43 ResultHolder holder = getResultHolder(returnClass);
44 if (holder == null) holder = getResultHolder(Document.class);
45
46 Transformer idTransformer = TransformerFactory.newInstance().newTransformer();
47 idTransformer.setOutputProperty(OutputKeys.ENCODING, encoding);
48 idTransformer.transform(sourceDoc, holder.getResult());
49
50 return holder.getResultObject();
51 }
52 catch (Exception e)
53 {
54 throw new TransformerException(this, e);
55 }
56 }
57 }