|
47 | 47 |
|
48 | 48 | import org.w3c.dom.Element; |
49 | 49 |
|
| 50 | +import javax.xml.XMLConstants; |
50 | 51 | import javax.xml.transform.*; |
51 | 52 | import javax.xml.transform.dom.DOMSource; |
52 | 53 | import javax.xml.transform.stream.StreamResult; |
|
57 | 58 | */ |
58 | 59 | public class ElementNode extends Node { |
59 | 60 |
|
60 | | - Element val = null; |
61 | | - |
62 | | - public ElementNode(Token token) { |
63 | | - super(token); |
64 | | - } |
| 61 | + private final Element element; |
65 | 62 |
|
66 | 63 | public ElementNode(Element element) { |
67 | | - this.val = element; |
| 64 | + this.element = element; |
68 | 65 | } |
69 | 66 |
|
70 | 67 | public Element getElement() { |
71 | | - return val; |
| 68 | + return element; |
72 | 69 | } |
73 | 70 |
|
| 71 | + @Override |
74 | 72 | public String toString() { |
75 | | - String str = null; |
76 | | - try { |
77 | | - TransformerFactory transFactory = TransformerFactory.newInstance(); |
78 | | - Transformer transformer = transFactory.newTransformer(); |
79 | | - StringWriter buffer = new StringWriter(); |
80 | | - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); |
81 | | - transformer.transform(new DOMSource(val), new StreamResult(buffer)); |
82 | | - str = buffer.toString(); |
83 | | - } |
84 | | - catch (TransformerConfigurationException tex) { |
85 | | - } |
86 | | - catch (TransformerException ex) { |
87 | | - } |
88 | | - return str; |
89 | | - } |
90 | | - |
91 | | - public static String toString(Element val) { |
92 | | - String str = null; |
| 73 | + final StringWriter buffer = new StringWriter(); |
93 | 74 | try { |
94 | | - TransformerFactory transFactory = TransformerFactory.newInstance(); |
95 | | - Transformer transformer = transFactory.newTransformer(); |
96 | | - StringWriter buffer = new StringWriter(); |
| 75 | + final TransformerFactory transFactory = TransformerFactory.newInstance(); |
| 76 | + transFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); |
| 77 | + final Transformer transformer = transFactory.newTransformer(); |
97 | 78 | transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); |
98 | | - transformer.transform(new DOMSource(val), new StreamResult(buffer)); |
99 | | - str = buffer.toString(); |
| 79 | + transformer.transform(new DOMSource(element), new StreamResult(buffer)); |
100 | 80 | } |
101 | | - catch (TransformerConfigurationException tex) { |
| 81 | + catch (final TransformerConfigurationException tex) { |
| 82 | + throw new IllegalStateException(tex.getMessage()); |
102 | 83 | } |
103 | | - catch (TransformerException ex) { |
| 84 | + catch (final TransformerException ex) { |
| 85 | + throw new IllegalStateException(ex.getMessage()); |
104 | 86 | } |
105 | | - return str; |
| 87 | + return buffer.toString(); |
106 | 88 | } |
107 | 89 | } |
0 commit comments