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