1 package net.sf.tomp.xtcl.filter;
2
3 import org.xml.sax.Attributes;
4 import org.xml.sax.ContentHandler;
5 import org.xml.sax.Locator;
6 import org.xml.sax.SAXException;
7 import org.xml.sax.ext.LexicalHandler;
8
9 import javax.xml.transform.Result;
10 import javax.xml.transform.sax.SAXResult;
11 import javax.xml.transform.sax.TransformerHandler;
12
13 /***
14 * DOCUMENT ME!
15 *
16 * @author $author$
17 * @version $Revision$
18 */
19 public class XSLTFilter extends XTFilterImpl {
20 private TransformerHandler tHandler;
21
22 /*** DOCUMENT ME! */
23 protected SAXResult result;
24
25 /***
26 * Creates a new XSLTFilter object.
27 *
28 * @param tHandler DOCUMENT ME!
29 */
30 public XSLTFilter(TransformerHandler tHandler) {
31 this.tHandler = tHandler;
32 }
33
34
35 public void setDocumentLocator(Locator locator) {
36 tHandler.setDocumentLocator(locator);
37 }
38
39 /***
40 * DOCUMENT ME!
41 *
42 * @throws SAXException DOCUMENT ME!
43 */
44 public void startDocument() throws SAXException {
45 tHandler.startDocument();
46 }
47
48 /***
49 * DOCUMENT ME!
50 *
51 * @throws SAXException DOCUMENT ME!
52 */
53 public void endDocument() throws SAXException {
54 tHandler.endDocument();
55 }
56
57 /***
58 * DOCUMENT ME!
59 *
60 * @param prefix DOCUMENT ME!
61 * @param uri DOCUMENT ME!
62 * @throws SAXException DOCUMENT ME!
63 */
64 public void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
65 throws SAXException {
66 tHandler.startPrefixMapping(prefix, uri);
67 }
68
69 /***
70 * DOCUMENT ME!
71 *
72 * @param prefix DOCUMENT ME!
73 * @throws SAXException DOCUMENT ME!
74 */
75 public void endPrefixMapping(java.lang.String prefix) throws SAXException {
76 tHandler.endPrefixMapping(prefix);
77 }
78
79 /***
80 * DOCUMENT ME!
81 *
82 * @param namespaceURI DOCUMENT ME!
83 * @param localName DOCUMENT ME!
84 * @param qName DOCUMENT ME!
85 * @param atts DOCUMENT ME!
86 * @throws SAXException DOCUMENT ME!
87 */
88 public void startElement(java.lang.String namespaceURI,
89 java.lang.String localName, java.lang.String qName, Attributes atts)
90 throws SAXException {
91 tHandler.startElement(namespaceURI, localName, qName, atts);
92 }
93
94 /***
95 * DOCUMENT ME!
96 *
97 * @param namespaceURI DOCUMENT ME!
98 * @param localName DOCUMENT ME!
99 * @param qName DOCUMENT ME!
100 * @throws SAXException DOCUMENT ME!
101 */
102 public void endElement(java.lang.String namespaceURI,
103 java.lang.String localName, java.lang.String qName)
104 throws SAXException {
105 tHandler.endElement(namespaceURI, localName, qName);
106 }
107
108 /***
109 * DOCUMENT ME!
110 *
111 * @param ch DOCUMENT ME!
112 * @param start DOCUMENT ME!
113 * @param length DOCUMENT ME!
114 * @throws SAXException DOCUMENT ME!
115 */
116 public void characters(char[] ch, int start, int length)
117 throws SAXException {
118 tHandler.characters(ch, start, length);
119 }
120
121 /***
122 * DOCUMENT ME!
123 *
124 * @param ch DOCUMENT ME!
125 * @param start DOCUMENT ME!
126 * @param length DOCUMENT ME!
127 * @throws SAXException DOCUMENT ME!
128 */
129 public void ignorableWhitespace(char[] ch, int start, int length)
130 throws SAXException {
131 tHandler.ignorableWhitespace(ch, start, length);
132 }
133
134 /***
135 * DOCUMENT ME!
136 *
137 * @param target DOCUMENT ME!
138 * @param data DOCUMENT ME!
139 * @throws SAXException DOCUMENT ME!
140 */
141 public void processingInstruction(java.lang.String target,
142 java.lang.String data) throws SAXException {
143 tHandler.processingInstruction(target, data);
144 }
145
146 /***
147 * DOCUMENT ME!
148 *
149 * @param name DOCUMENT ME!
150 * @throws SAXException DOCUMENT ME!
151 */
152 public void skippedEntity(java.lang.String name) throws SAXException {
153 tHandler.skippedEntity(name);
154 }
155
156 /***
157 * DOCUMENT ME!
158 *
159 * @param cHandler DOCUMENT ME!
160 */
161 public void setContentHandler(ContentHandler cHandler) {
162 result = new SAXResult(cHandler);
163
164
165
166 if (cHandler instanceof LexicalHandler) {
167 result.setLexicalHandler((LexicalHandler) cHandler);
168
169
170
171 }
172
173 tHandler.setResult(result);
174 }
175
176 /***
177 * DOCUMENT ME!
178 *
179 * @return DOCUMENT ME!
180 */
181 public Result getResult() {
182 return result;
183 }
184 }
185
186
187
188
189
190
191
192
193
194
195