1
2
3
4
5
6
7
8
9
10 package org.dom4j.io;
11
12 import org.dom4j.DocumentFactory;
13 import org.xml.sax.SAXException;
14 import org.xml.sax.XMLReader;
15
16 /***
17 * The SAXModifier parses, updates and writes an XML document.<br>
18 *
19 * The input that is parsed is directly written to the specified output, unless the current xml element has an
20 * associated ElementHandler.<br>
21 * The {@link org.dom4j.ElementHandler} objects make it possible to update the document on the fly,
22 * without having read tje complete document.
23 *
24 * @see org.dom4j.io.SAXReader
25 * @see org.dom4j.io.XMLWriters
26 * @author Wonne Keysers (Realsoftware.be)
27 */
28 class SAXModifyReader extends SAXReader {
29
30 private XMLWriter xmlWriter;
31 private boolean pruneElements;
32
33 public SAXModifyReader() {
34 }
35
36 public SAXModifyReader(boolean validating) {
37 super(validating);
38 }
39
40 public SAXModifyReader(DocumentFactory factory) {
41 super(factory);
42 }
43
44 public SAXModifyReader(DocumentFactory factory, boolean validating) {
45 super(factory, validating);
46 }
47
48 public SAXModifyReader(XMLReader xmlReader) {
49 super(xmlReader);
50 }
51
52 public SAXModifyReader(XMLReader xmlReader, boolean validating) {
53 super(xmlReader, validating);
54 }
55
56 public SAXModifyReader(String xmlReaderClassName) throws SAXException {
57 super(xmlReaderClassName);
58 }
59
60 public SAXModifyReader(String xmlReaderClassName, boolean validating) throws SAXException {
61 super(xmlReaderClassName, validating);
62 }
63
64 public void setXMLWriter(XMLWriter xmlWriter) {
65 this.xmlWriter = xmlWriter;
66 }
67
68 public boolean isPruneElements() {
69 return pruneElements;
70 }
71
72 public void setPruneElements(boolean pruneElements) {
73 this.pruneElements = pruneElements;
74 }
75
76 protected SAXContentHandler createContentHandler(XMLReader reader) {
77 SAXModifyContentHandler handler = new SAXModifyContentHandler(getDocumentFactory(), getDispatchHandler());
78
79 handler.setXMLWriter(xmlWriter);
80
81 return handler;
82 }
83
84 protected XMLWriter getXMLWriter() {
85 return this.xmlWriter;
86 }
87
88 }
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136