1 package org.apache.maven.shared.utils.xml;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 )
35 {
36 write( new PrettyPrintXMLWriter( writer ), dom );
37 }
38
39
40
41
42
43 public static void write( PrintWriter writer, Xpp3Dom dom )
44 {
45 write( new PrettyPrintXMLWriter( writer ), dom );
46 }
47
48
49
50
51
52 public static void write( XMLWriter xmlWriter, Xpp3Dom dom )
53 {
54 write( xmlWriter, dom, true );
55 }
56
57
58
59
60
61
62 public static void write( XMLWriter xmlWriter, Xpp3Dom dom, boolean escape )
63 {
64 xmlWriter.startElement( dom.getName() );
65 String[] attributeNames = dom.getAttributeNames();
66 for ( String attributeName : attributeNames )
67 {
68 xmlWriter.addAttribute( attributeName, dom.getAttribute( attributeName ) );
69 }
70 Xpp3Dom[] children = dom.getChildren();
71 for ( Xpp3Dom aChildren : children )
72 {
73 write( xmlWriter, aChildren, escape );
74 }
75
76 String value = dom.getValue();
77 if ( value != null )
78 {
79 if ( escape )
80 {
81 xmlWriter.writeText( value );
82 }
83 else
84 {
85 xmlWriter.writeMarkup( value );
86 }
87 }
88 xmlWriter.endElement();
89 }
90
91 }