gmazza      2004/02/10 15:51:26

  Modified:    .        fop.bat
               src/java/org/apache/fop/apps CommandLineOptions.java
                        XSLTInputHandler.java
               src/java/org/apache/fop/servlet FopPrintServlet.java
               src/java/org/apache/fop/tools TestConverter.java
  Log:
  1.)  Deprecation of most constructors in XSLTInputHandler in favor of JAXP.
  2.)  Removal of unused transformer member variable in XSLTInputHandler.
  3.)  Partial modifications -- code from Xalan project -- in order to be
       able to handle command line parameters for XSLT stylesheet.  (Changes
       still needed in XSLTInputHandler.getXMLFilter() -- unsure how to set
       parameters to an XMLFilter.
  
  Revision  Changes    Path
  1.16      +3 -1      xml-fop/fop.bat
  
  Index: fop.bat
  ===================================================================
  RCS file: /home/cvs/xml-fop/fop.bat,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- fop.bat   10 Feb 2004 22:27:42 -0000      1.15
  +++ fop.bat   10 Feb 2004 23:51:25 -0000      1.16
  @@ -15,5 +15,7 @@
   set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jimi-1.0.jar
   set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_core.jar
   set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_codec.jar
  -java -cp "%LOCALCLASSPATH%" org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8
  +rem 'shift' removes %0 (i.e., the fop.bat filename)
  +shift
  +java -cp "%LOCALCLASSPATH%" org.apache.fop.apps.Fop %*
   
  
  
  
  1.14      +18 -1     xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java
  
  Index: CommandLineOptions.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/CommandLineOptions.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- CommandLineOptions.java   1 Sep 2003 13:31:24 -0000       1.13
  +++ CommandLineOptions.java   10 Feb 2004 23:51:26 -0000      1.14
  @@ -54,6 +54,7 @@
   import java.io.File;
   import java.io.FileNotFoundException;
   import java.util.Locale;
  +import java.util.Vector;
   
   // Avalon
   import org.apache.avalon.framework.logger.ConsoleLogger;
  @@ -116,6 +117,8 @@
   
       private Logger log;
   
  +    private Vector xsltParams = null;
  +    
       /**
        * Construct a command line option object from command line arguments
        * @param args command line parameters
  @@ -208,6 +211,18 @@
                   i = i + parseUnknownOption(args, i);
               } else if (args[i].equals("-at")) {
                   i = i + parseAreaTreeOption(args, i);
  +            } else if (args[i].equals("-param")) {
  +                  if (i + 2 < args.length) {
  +                      if (xsltParams == null) {
  +                          xsltParams = new Vector();
  +                      }
  +                      String name = args[++i];
  +                      xsltParams.addElement(name);
  +                      String expression = args[++i];
  +                      xsltParams.addElement(expression);
  +                  } else {
  +                    throw new FOPException("invalid param usage: use -param <name> 
<value>");
  +                  }
               } else {
                   printUsage();
                   return false;
  @@ -493,7 +508,7 @@
           case FO_INPUT:
               return new FOFileHandler(fofile);
           case XSLT_INPUT:
  -            return new XSLTInputHandler(xmlfile, xsltfile);
  +            return new XSLTInputHandler(xmlfile, xsltfile, xsltParams);
           default:
               throw new FOPException("Invalid inputmode setting!");
           }
  @@ -621,6 +636,8 @@
               + "  -fo  infile       xsl:fo input file  \n"
               + "  -xml infile       xml input file, must be used together with -xsl 
\n"
               + "  -xsl stylesheet   xslt stylesheet \n \n"
  +/*            + "  -param name value <value> to use for parameter <name> in xslt 
stylesheet\n"
  +            + "                    (repeat '-param name value' for each 
parameter)\n \n" */
               + " [OUTPUT] \n"
               + "  outfile           input will be rendered as pdf file into outfile 
\n"
               + "  -pdf outfile      input will be rendered as pdf file (outfile 
req'd) \n"
  
  
  
  1.11      +34 -17    xml-fop/src/java/org/apache/fop/apps/XSLTInputHandler.java
  
  Index: XSLTInputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/XSLTInputHandler.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XSLTInputHandler.java     7 Oct 2003 20:06:17 -0000       1.10
  +++ XSLTInputHandler.java     10 Feb 2004 23:51:26 -0000      1.11
  @@ -52,6 +52,7 @@
   
   // Imported java.io classes
   import java.io.File;
  +import java.util.Vector;
   
   // Imported TraX classes
   import javax.xml.transform.Source;
  @@ -73,20 +74,34 @@
    */
   public class XSLTInputHandler extends InputHandler {
   
  -    private Transformer transformer;
       private StreamSource xmlSource;
       private Source xsltSource;
  +    private Vector xsltParams = null; // not yet implemented
  +    
  +    /**
  +     * Constructor for files as input
  +     * @param xmlfile XML file
  +     * @param xsltfile XSLT file
  +     * @param params Vector of command-line parameters (name, value, 
  +     *      name, value, ...) for XSL stylesheet
  +     * @throws FOPException if initializing the Transformer fails
  +     */
  +    public XSLTInputHandler(File xmlfile, File xsltfile, Vector params) throws 
FOPException {
  +        this.xmlSource  = new StreamSource(xmlfile);
  +        this.xsltSource = new StreamSource(xsltfile);
  +        xsltParams = params;
  +    }
   
       /**
        * Constructor for files as input
        * @param xmlfile XML file
        * @param xsltfile XSLT file
        * @throws FOPException if initializing the Transformer fails
  +     * @deprecated Use JAXP instead.
        */
       public XSLTInputHandler(File xmlfile, File xsltfile) throws FOPException {
           this.xmlSource  = new StreamSource(xmlfile);
           this.xsltSource = new StreamSource(xsltfile);
  -        initTransformer();
       }
   
       /**
  @@ -94,11 +109,11 @@
        * @param xmlURL XML URL
        * @param xsltURL XSLT URL
        * @throws FOPException if initializing the Transformer fails
  +     * @deprecated Use JAXP instead.
        */
       public XSLTInputHandler(String xmlURL, String xsltURL) throws FOPException {
           this.xmlSource  = new StreamSource(xmlURL);
           this.xsltSource = new StreamSource(xsltURL);
  -        initTransformer();
       }
   
       /**
  @@ -106,6 +121,7 @@
        * @param xmlSource XML InputSource
        * @param xsltSource XSLT InputSource
        * @throws FOPException if initializing the Transformer fails
  +     * @deprecated Use JAXP instead.
        */
       public XSLTInputHandler(InputSource xmlSource, InputSource xsltSource)
                   throws FOPException {
  @@ -113,16 +129,6 @@
                                              xmlSource.getSystemId());
           this.xsltSource = new StreamSource(xsltSource.getByteStream(),
                                              xsltSource.getSystemId());
  -        initTransformer();
  -    }
  -
  -    private void initTransformer() throws FOPException {
  -        try {
  -            this.transformer = 
  -                TransformerFactory.newInstance().newTransformer(xsltSource);
  -        } catch (Exception ex) {
  -            throw new FOPException(ex);
  -        }
       }
   
       /**
  @@ -141,7 +147,7 @@
        * @see org.apache.fop.apps.InputHandler#getParser()
        */
       public XMLReader getParser() throws FOPException {
  -        return getXMLFilter(xsltSource);
  +        return getXMLFilter(xsltSource, xsltParams);
       }
   
       /**
  @@ -154,11 +160,11 @@
        * XMLReaders or XMLFilters
        * @throws FOPException if setting up the XMLFilter fails
        */
  -    public static XMLFilter getXMLFilter(Source xsltSource) throws FOPException {
  +    public static XMLFilter getXMLFilter(Source xsltSource, Vector inParams) throws 
FOPException {
           try {
               // Instantiate  a TransformerFactory.
               TransformerFactory tFactory = TransformerFactory.newInstance();
  -            // Determine whether the TransformerFactory supports The use uf 
SAXSource
  +            // Determine whether the TransformerFactory supports The use of 
SAXSource
               // and SAXResult
               if (tFactory.getFeature(SAXSource.FEATURE)
                       && tFactory.getFeature(SAXResult.FEATURE)) {
  @@ -168,7 +174,18 @@
                   // Create an XMLFilter for each stylesheet.
                   XMLFilter xmlfilter =
                       saxTFactory.newXMLFilter(xsltSource);
  -
  +                    
  +/*              if (inParams != null) { 
  +                    Transformer transformer = ??? how to obtain from an XMLFilter?
  +                    int nParams = inParams.size();
  +            
  +                    for (int i = 0; i < nParams; i += 2) {
  +                        transformer.setParameter((String) inParams.elementAt(i),
  +                            (String) inParams.elementAt(i + 1));
  +                    }
  +                }
  +*/                  
  +                
                   // Create an XMLReader.
                   XMLReader parser = FOFileHandler.createParser();
                   if (parser == null) {
  
  
  
  1.9       +1 -1      xml-fop/src/java/org/apache/fop/servlet/FopPrintServlet.java
  
  Index: FopPrintServlet.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/servlet/FopPrintServlet.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- FopPrintServlet.java      19 Sep 2003 14:33:15 -0000      1.8
  +++ FopPrintServlet.java      10 Feb 2004 23:51:26 -0000      1.9
  @@ -133,7 +133,7 @@
               } else if ((xmlParam != null) && (xsltParam != null)) {
                   XSLTInputHandler input =
                     new XSLTInputHandler(new File(xmlParam),
  -                                       new File(xsltParam));
  +                                       new File(xsltParam), null);
                   renderXML(input, response);
               } else {
                   response.setContentType("text/html");
  
  
  
  1.10      +1 -1      xml-fop/src/java/org/apache/fop/tools/TestConverter.java
  
  Index: TestConverter.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/tools/TestConverter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TestConverter.java        10 Feb 2004 17:42:03 -0000      1.9
  +++ TestConverter.java        10 Feb 2004 23:51:26 -0000      1.10
  @@ -306,7 +306,7 @@
               } else {
                   inputHandler = new XSLTInputHandler(xmlFile,
                                                       new File(baseDir + "/"
  -                                                             + xsl));
  +                                                             + xsl), null);
               }
   
               Driver driver = new Driver();
  
  
  

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

Reply via email to