You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by tm...@apache.org on 2002/08/29 15:52:41 UTC
cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/trax TrAXFilter.java TransformerHandlerImpl.java
tmiller 2002/08/29 06:52:40
Modified: java/src/org/apache/xalan/xsltc/trax TrAXFilter.java
TransformerHandlerImpl.java
Log:
Fixed XSLTCs implementation of XMLFilter
Revision Changes Path
1.2 +63 -3 xml-xalan/java/src/org/apache/xalan/xsltc/trax/TrAXFilter.java
Index: TrAXFilter.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TrAXFilter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TrAXFilter.java 26 Jun 2001 17:19:58 -0000 1.1
+++ TrAXFilter.java 29 Aug 2002 13:52:40 -0000 1.2
@@ -56,6 +56,7 @@
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
+ * @author Santiago Pericas-Geertsen
* @author G. Todd Miller
*
*/
@@ -64,18 +65,77 @@
package org.apache.xalan.xsltc.trax;
import org.xml.sax.XMLFilter;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.InputSource;
import org.xml.sax.helpers.XMLFilterImpl;
+import org.xml.sax.ContentHandler;
import javax.xml.transform.Templates;
import javax.xml.transform.TransformerConfigurationException;
-
+import javax.xml.transform.ErrorListener;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.FactoryConfigurationError;
+import java.io.IOException;
/**
* skeleton extension of XMLFilterImpl for now.
*/
public class TrAXFilter extends XMLFilterImpl {
+ private Templates _templates;
+ private TransformerHandlerImpl _transformer;
+
public TrAXFilter(Templates templates) throws
TransformerConfigurationException
{
- /* nothing yet */
+ _templates = templates;
+ _transformer = new TransformerHandlerImpl(
+ (TransformerImpl) templates.newTransformer());
+ }
+
+ public void setParent(XMLReader parent) {
+ super.setParent(parent);
+ }
+
+ public void parse (InputSource input)
+ throws org.xml.sax.SAXException, IOException
+ {
+ if (getParent() == null) {
+ XMLReader reader = null;
+ try {
+ SAXParserFactory pfactory = SAXParserFactory.newInstance();
+ pfactory.setNamespaceAware(true);
+ SAXParser saxparser = pfactory.newSAXParser();
+ reader = saxparser.getXMLReader();
+ }
+ catch (ParserConfigurationException e) {
+ throw new SAXException(e);
+ }
+ catch (FactoryConfigurationError e) {
+ throw new SAXException(e.toString());
+ }
+ }
+ getParent().parse(input);
+ }
+
+ public void parse (String systemId) throws org.xml.sax.SAXException,
+ IOException
+ {
+ parse(new InputSource(systemId));
+ }
+
+ public void setContentHandler (ContentHandler handler)
+ {
+ _transformer.setResult(new SAXResult(handler));
+ getParent().setContentHandler(_transformer);
+ }
+
+ public void setErrorListener (ErrorListener handler)
+ {
+ //_transformer.setErrorListener(handler);
}
}
1.12 +2 -2 xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java
Index: TransformerHandlerImpl.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerHandlerImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- TransformerHandlerImpl.java 12 Aug 2002 19:33:55 -0000 1.11
+++ TransformerHandlerImpl.java 29 Aug 2002 13:52:40 -0000 1.12
@@ -103,7 +103,7 @@
/**
* Cosntructor - pass in reference to a TransformerImpl object
*/
- protected TransformerHandlerImpl(TransformerImpl transformer) {
+ public TransformerHandlerImpl(TransformerImpl transformer) {
// Save the reference to the transformer
_transformer = transformer;
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org