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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to