morten      01/07/13 03:36:19

  Modified:    java/samples/CompiledApplet TransformApplet.java
               java/samples/CompiledBrazil TransformHandler.java
               java/samples/CompiledServlet CompileServlet.java
  Added:       java/samples/CompiledJAXP Compile.java Transform.java
  Log:
  Added another directory for examples on how to compile and store translets
  using our new TrAX design/implementation.
  PR:           n/a
  Obtained from:        n/a
  Submitted by: [EMAIL PROTECTED]
  Reviewed by:  [EMAIL PROTECTED]
  
  Revision  Changes    Path
  1.2       +6 -4      
xml-xalan/java/samples/CompiledApplet/TransformApplet.java
  
  Index: TransformApplet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/samples/CompiledApplet/TransformApplet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TransformApplet.java      2001/05/17 15:36:29     1.1
  +++ TransformApplet.java      2001/07/13 10:35:44     1.2
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: TransformApplet.java,v 1.1 2001/05/17 15:36:29 morten Exp $
  + * @(#)$Id: TransformApplet.java,v 1.2 2001/07/13 10:35:44 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -161,8 +161,8 @@
            reader.setContentHandler(_dom.getBuilder());
   
            // Create a DTD monitor and pass it to the XMLReader object
  -         final DTDMonitor dtdMonitor = new DTDMonitor();
  -         dtdMonitor.handleDTD(reader);
  +         _dtdMonitor = new DTDMonitor();
  +         _dtdMonitor.handleDTD(reader);
   
            // Parse the input document
            reader.parse(url);
  @@ -217,6 +217,7 @@
                // Set size of key/id indices
                translet.setIndexSize(_dom.getSize());
                // If there are any elements with ID attributes, build an index
  +
                _dtdMonitor.buildIdIndex(_dom, 0, translet);
                // Pass unparsed entities to translet
                translet.setUnparsedEntityURIs(_dtdMonitor.
  @@ -227,10 +228,11 @@
                final long done = System.currentTimeMillis() - start;
                out.println("<!-- transformed by XSLTC in "+done+"msecs -->");
            }
  -                     
            // Now close up the sink, and return the HTML output in the
            // StringWrite object as a string.
            out.close();
  +         System.err.println("Transformation complete!");
  +         System.err.println(sout.toString());
            return sout.toString();
        }
        catch (RuntimeException e) {
  
  
  
  1.2       +1 -3      
xml-xalan/java/samples/CompiledBrazil/TransformHandler.java
  
  Index: TransformHandler.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/samples/CompiledBrazil/TransformHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TransformHandler.java     2001/05/17 15:36:35     1.1
  +++ TransformHandler.java     2001/07/13 10:35:54     1.2
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: TransformHandler.java,v 1.1 2001/05/17 15:36:35 morten Exp $
  + * @(#)$Id: TransformHandler.java,v 1.2 2001/07/13 10:35:54 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -58,8 +58,6 @@
    * @author Morten Jorgensen
    *
    */
  -
  -package org.apache.xalan.xsltc.demo.brazil;
   
   import java.io.*;
   import java.util.NoSuchElementException;
  
  
  
  1.1                  xml-xalan/java/samples/CompiledJAXP/Compile.java
  
  Index: Compile.java
  ===================================================================
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.ObjectOutputStream;
  
  import javax.xml.transform.stream.StreamSource;
  import javax.xml.transform.stream.StreamResult;
  import javax.xml.transform.Templates;
  import javax.xml.transform.Transformer;
  import javax.xml.transform.TransformerFactory;
  
  import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;
  
  public class Compile {
  
      public static void main(String[] args){
          Compile app = new Compile();
          app.run(args[0]);
      }
  
      /**
       * Compiles an XSL stylesheet into a translet, wraps the translet
       * inside a Templates object and dumps it to a file.
       */
      public void run(String xsl) {
          try {
            // Get an input stream for the XSL stylesheet
            StreamSource stylesheet = new StreamSource(xsl);
  
            // The TransformerFactory will compile the stylesheet and
            // put the translet classes inside the Templates object
            TransformerFactory factory = TransformerFactory.newInstance();
            Templates templates = factory.newTemplates(stylesheet);
  
            // Send the Templates object to a '.translet' file
            dumpTemplate(getBaseName(xsl)+".translet", templates);
          }
        catch (Exception e) {
              System.err.println("Exception: " + e); 
            e.printStackTrace();
          }
          System.exit(0);
      }
  
      /**
       * Returns the base-name of a file/url
       */
      private String getBaseName(String filename) {
        int start = filename.lastIndexOf(File.separatorChar);
        int stop  = filename.lastIndexOf('.');
        if (stop <= start) stop = filename.length() - 1;
        return filename.substring(start+1, stop);
      }
  
      /**
       * Writes a Templates object to a file
       */
      private void dumpTemplate(String file, Templates templates) {
        try {
            FileOutputStream ostream = new FileOutputStream(file);
            ObjectOutputStream p = new ObjectOutputStream(ostream);
            p.writeObject(templates);
            p.flush();
            ostream.close();
        }
        catch (Exception e) {
            System.err.println(e);
            e.printStackTrace();
            System.err.println("Could not write file "+file);
        }
      }
  
      private void usage() {
          System.err.println("Usage: compile <xsl_file>");
          System.exit(1);
      }
  
  }
  
  
  
  1.1                  xml-xalan/java/samples/CompiledJAXP/Transform.java
  
  Index: Transform.java
  ===================================================================
  import java.io.File;
  import java.io.FileInputStream;
  import java.io.ObjectInputStream;
  
  import javax.xml.transform.stream.StreamSource;
  import javax.xml.transform.stream.StreamResult;
  import javax.xml.transform.Templates;
  import javax.xml.transform.Transformer;
  import javax.xml.transform.TransformerFactory;
  
  import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;
  
  public class Transform {
  
      public static void main(String[] args){
          Transform app = new Transform();
          app.run(args);
      }
  
      /**
       * Reads a Templates object from a file, the Templates object creates
       * a translet and wraps it in a Transformer. The translet performs the
       * transformation on behalf of the Transformer.transform() method.
       */
      public void run(String[] args){
          String xml = args[0];
          String translet = args[1];
  
          try {
            StreamSource document = new StreamSource(xml);
            StreamResult result = new StreamResult(System.out);
            Templates templates = readTemplates(translet);
            Transformer transformer = templates.newTransformer();
              transformer.transform(document, result);
          }
        catch (Exception e) {
              System.err.println("Exception: " + e); 
            e.printStackTrace();
          }
          System.exit(0);
      }
  
      /**
       * Reads a Templates object from a file
       */
      private Templates readTemplates(String file) {
        try {
            FileInputStream ostream = new FileInputStream(file);
            ObjectInputStream p = new ObjectInputStream(ostream);
            Templates templates = (Templates)p.readObject();
            ostream.close();
            return(templates);
        }
        catch (Exception e) {
            System.err.println(e);
            e.printStackTrace();
            System.err.println("Could not write file "+file);
            return null;
        }
      }
  
      /**
       * Returns the base-name of a file/url
       */
      private String getBaseName(String filename) {
        int start = filename.lastIndexOf(File.separatorChar);
        int stop  = filename.lastIndexOf('.');
        if (stop <= start) stop = filename.length() - 1;
        return filename.substring(start+1, stop);
      }
  
      public void usage() {
          System.err.println("Usage: run <xml_file> <xsl_file>");
          System.exit(1);
      }
  
  }
  
  
  
  1.2       +2 -2      
xml-xalan/java/samples/CompiledServlet/CompileServlet.java
  
  Index: CompileServlet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/samples/CompiledServlet/CompileServlet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CompileServlet.java       2001/05/17 15:36:39     1.1
  +++ CompileServlet.java       2001/07/13 10:36:08     1.2
  @@ -1,5 +1,5 @@
   /*
  - * @(#)$Id: CompileServlet.java,v 1.1 2001/05/17 15:36:39 morten Exp $
  + * @(#)$Id: CompileServlet.java,v 1.2 2001/07/13 10:36:08 morten Exp $
    *
    * The Apache Software License, Version 1.1
    *
  @@ -74,7 +74,7 @@
   import org.apache.xalan.xsltc.compiler.util.*;
   import org.apache.xalan.xsltc.util.getopt.*;
   
  -public class Compile extends HttpServlet {
  +public class CompileServlet extends HttpServlet {
   
       /**
        * Main servlet entry point. The servlet reads a stylesheet from the
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to