You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by dl...@locus.apache.org on 2000/11/20 14:02:26 UTC

cvs commit: xml-xalan/java/samples/UseXMLFilters UseXMLFilters.java

dleslie     00/11/20 05:02:26

  Modified:    java/samples/UseXMLFilters UseXMLFilters.java
  Log:
  Updated to use new TrAX.
  
  Revision  Changes    Path
  1.4       +38 -35    xml-xalan/java/samples/UseXMLFilters/UseXMLFilters.java
  
  Index: UseXMLFilters.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/samples/UseXMLFilters/UseXMLFilters.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UseXMLFilters.java	2000/10/18 17:58:43	1.3
  +++ UseXMLFilters.java	2000/11/20 13:02:25	1.4
  @@ -56,13 +56,19 @@
    */
   
   // Imported TraX classes
  -import org.apache.trax.Processor; 
  -import org.apache.trax.Templates;
  -import org.apache.trax.Transformer; 
  -import org.apache.trax.Result;
  -import org.apache.trax.ProcessorException; 
  -import org.apache.trax.ProcessorFactoryException;
  -import org.apache.trax.TransformException; 
  +import javax.xml.transform.TransformerFactory;
  +import javax.xml.transform.Transformer;
  +import javax.xml.transform.Templates;
  +import javax.xml.transform.stream.StreamSource;
  +import javax.xml.transform.stream.StreamResult;
  +import javax.xml.transform.TransformerException;
  +import javax.xml.transform.TransformerConfigurationException;
  +import javax.xml.transform.Result;
  +import javax.xml.transform.sax.SAXResult;
  +import javax.xml.transform.sax.SAXSource;
  +import javax.xml.transform.sax.SAXTransformerFactory;
  +import javax.xml.transform.sax.TemplatesHandler;
  +import javax.xml.transform.sax.TransformerHandler;              
   
   // Imported SAX classes
   import org.xml.sax.InputSource;
  @@ -71,15 +77,16 @@
   import org.xml.sax.helpers.ParserAdapter;
   import org.xml.sax.helpers.XMLReaderFactory;
   import org.xml.sax.XMLReader;
  +import org.xml.sax.XMLFilter;
   import org.xml.sax.ContentHandler;
   
   // Imported DOM classes
   import org.w3c.dom.Node;
   
   // Imported Serializer classes
  -import org.apache.serialize.OutputFormat;
  -import org.apache.serialize.Serializer;
  -import org.apache.serialize.SerializerFactory;
  +import org.apache.xalan.serialize.OutputFormat;
  +import org.apache.xalan.serialize.Serializer;
  +import org.apache.xalan.serialize.SerializerFactory;
   
   // Imported JAVA API for XML Parsing 1.0 classes
   import javax.xml.parsers.DocumentBuilder;
  @@ -98,38 +105,34 @@
      */
   public class UseXMLFilters
   {
  -	public static void main(String[] args)
  -	    throws SAXException, IOException, ParserConfigurationException
  -  {  
  -    // Instantiate a stylesheet processor.
  -	Processor processor = Processor.newInstance("xslt");
  -
  -	// Create a Templates object and a Transformer for each stylesheet.
  -    Templates stylesheet1 = processor.process(new InputSource("foo1.xsl"));
  -    Transformer transformer1 = stylesheet1.newTransformer();
  -
  -	Templates stylesheet2= processor.process(new InputSource("foo2.xsl"));
  -    Transformer transformer2 = stylesheet2.newTransformer();
  -
  -    Templates  stylesheet3 = processor.process(new InputSource("foo3.xsl"));
  -    Transformer transformer3= stylesheet3.newTransformer();
  +  public static void main(String[] args)
  +	throws TransformerException, TransformerConfigurationException, 
  +         SAXException, IOException	   
  +	{
  +    // Instantiate  a TransformerFactory.
  +  	SAXTransformerFactory saxTFactory = (SAXTransformerFactory)TransformerFactory.newInstance();
  +
  +	  // Create a a Transformer for each stylesheet.
  +    XMLFilter xmlFilter1 = saxTFactory.newXMLFilter(new StreamSource("foo1.xsl"));
  +    XMLFilter xmlFilter2 = saxTFactory.newXMLFilter(new StreamSource("foo2.xsl"));
  +    XMLFilter xmlFilter3 = saxTFactory.newXMLFilter(new StreamSource("foo3.xsl"));
       
       // Create an XMLReader (implemented by the Xerces SAXParser).
  -	XMLReader reader = XMLReaderFactory.createXMLReader();
  +	  XMLReader reader = XMLReaderFactory.createXMLReader();
       
  -    // transformer1 uses the reader (SAXParser) as its reader.
  -    transformer1.setParent(reader);
  +    // xmlFilter1 uses the reader (SAXParser) as its reader.
  +    xmlFilter1.setParent(reader);
       
  -    // transformer2 uses transformer1 as its reader.
  -    transformer2.setParent(transformer1);
  +    // xmlFilter2 uses xmlFilter1 as its reader.
  +    xmlFilter2.setParent(xmlFilter1);
       
  -    // transform3 uses transform2 as its reader.
  -    transformer3.setParent(transformer2);
  +    // xmlFilter3 uses xmlFilter2 as its reader.
  +    xmlFilter3.setParent(xmlFilter2);
       
  -    // transformer3 outputs SAX events to the serializer.
  +    // xmlFilter3 outputs SAX events to the serializer.
       Serializer serializer = SerializerFactory.getSerializer("xml");
       serializer.setOutputStream(System.out);
  -    transformer3.setContentHandler(serializer.asContentHandler());
  +    xmlFilter3.setContentHandler(serializer.asContentHandler());
   
   	// Perform the series of transformations as follows:
   	//   transformer3 gets its parent (transformer2) as the XMLReader/XMLFilter
  @@ -144,6 +147,6 @@
   	//   sends the output to transformer3.
   	//   transformer3 parses the transformation 2 output, performs transformation 3,
   	//   and sends the output to the serializer.
  -    transformer3.parse(new InputSource("foo.xml"));
  +    xmlFilter3.parse(new InputSource("foo.xml"));
     }
   }