1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.shared.utils.xml;
20
21 import java.io.IOException;
22 import java.io.PrintWriter;
23 import java.io.Writer;
24
25
26
27
28 public class Xpp3DomWriter {
29
30
31
32
33
34 public static void write(Writer writer, Xpp3Dom dom) throws IOException {
35 write(new PrettyPrintXMLWriter(writer), dom);
36 }
37
38
39
40
41
42
43 public static void write(PrintWriter writer, Xpp3Dom dom) throws IOException {
44 write(new PrettyPrintXMLWriter(writer), dom);
45 }
46
47
48
49
50
51
52 public static void write(XMLWriter xmlWriter, Xpp3Dom dom) throws IOException {
53 write(xmlWriter, dom, true);
54 }
55
56
57
58
59
60
61
62 public static void write(XMLWriter xmlWriter, Xpp3Dom dom, boolean escape) throws IOException {
63 xmlWriter.startElement(dom.getName());
64 String[] attributeNames = dom.getAttributeNames();
65 for (String attributeName : attributeNames) {
66 xmlWriter.addAttribute(attributeName, dom.getAttribute(attributeName));
67 }
68 Xpp3Dom[] children = dom.getChildren();
69 for (Xpp3Dom aChildren : children) {
70 write(xmlWriter, aChildren, escape);
71 }
72
73 String value = dom.getValue();
74 if (value != null) {
75 if (escape) {
76 xmlWriter.writeText(value);
77 } else {
78 xmlWriter.writeMarkup(value);
79 }
80 }
81 xmlWriter.endElement();
82 }
83 }