View Javadoc

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      // implement ContentHandler by delegation to TransformerHandler
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         //System.out.println("---- tHandler.setResult
165         // ContentHandler="+cHandler);
166         if (cHandler instanceof LexicalHandler) {
167             result.setLexicalHandler((LexicalHandler) cHandler);
168 
169             //System.out.println("---- tHandler.setResult
170             // LexicalHandler="+cHandler);
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  * The contents of this file are subject to the Mozilla Public License Version
188  * 1.1 (the "License"); you may not use this file except in compliance with the
189  * License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
190  * Software distributed under the License is distributed on an "AS IS" basis,
191  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
192  * the specific language governing rights and limitations under the License. The
193  * Original Code is: all this file. The Initial Developer of the Original Code
194  * is: Tomas Pitner, Masaryk University in Brno, Czech Republic. Contributor(s):
195  */