mkwan       2003/04/01 12:29:11

  Modified:    java/src/org/apache/xalan/xsltc/cmdline Transform.java
  Log:
  Merging XSLTC_DTM and common serializer to the head
  
  Changes in org.apache.xalan.xsltc.cmdline.
  
  Revision  Changes    Path
  1.26      +19 -48    
xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java
  
  Index: Transform.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/cmdline/Transform.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- Transform.java    19 Mar 2003 22:14:07 -0000      1.25
  +++ Transform.java    1 Apr 2003 20:29:11 -0000       1.26
  @@ -65,7 +65,6 @@
   
   package org.apache.xalan.xsltc.cmdline;
   
  -import java.io.File;
   import java.io.FileNotFoundException;
   import java.net.MalformedURLException;
   import java.net.UnknownHostException;
  @@ -73,29 +72,26 @@
   
   import javax.xml.parsers.SAXParser;
   import javax.xml.parsers.SAXParserFactory;
  +import javax.xml.transform.sax.SAXSource;
   
  -import org.apache.xalan.xsltc.Translet;
   import org.apache.xalan.xsltc.TransletException;
  -import org.apache.xalan.xsltc.TransletOutputHandler;
   import org.apache.xalan.xsltc.compiler.util.ErrorMsg;
  -import org.apache.xalan.xsltc.dom.DOMBuilder;
  -import org.apache.xalan.xsltc.dom.DOMImpl;
  -import org.apache.xalan.xsltc.dom.DTDMonitor;
  +import org.apache.xalan.xsltc.dom.SAXImpl;
  +import org.apache.xalan.xsltc.dom.XSLTCDTMManager;
   import org.apache.xalan.xsltc.runtime.AbstractTranslet;
   import org.apache.xalan.xsltc.runtime.Constants;
   import org.apache.xalan.xsltc.runtime.Parameter;
   import org.apache.xalan.xsltc.runtime.TransletLoader;
   import org.apache.xalan.xsltc.runtime.output.TransletOutputHandlerFactory;
  +import org.apache.xml.serializer.SerializationHandler;
   
  +import org.xml.sax.InputSource;
   import org.xml.sax.SAXException;
   import org.xml.sax.XMLReader;
   
   final public class Transform {
   
  -    // Temporary
  -    static private boolean _useOldOutputSystem = false;
  -
  -    private TransletOutputHandler _handler;
  +    private SerializationHandler _handler;
   
       private String  _fileName;
       private String  _className;
  @@ -152,7 +148,7 @@
        try {
            
            final Class clazz = loadTranslet(_className);
  -         final Translet translet = (Translet)clazz.newInstance();
  +         final AbstractTranslet translet = 
(AbstractTranslet)clazz.newInstance();
   
            // Create a SAX parser and get the XMLReader object it uses
            final SAXParserFactory factory = SAXParserFactory.newInstance();
  @@ -166,33 +162,14 @@
            final XMLReader reader = parser.getXMLReader();
   
            // Set the DOM's DOM builder as the XMLReader's SAX2 content handler
  -         final DOMImpl dom = new DOMImpl();
  -         DOMBuilder builder = dom.getBuilder();
  -         reader.setContentHandler(builder);
  -
  -         try {
  -             String prop = "http://xml.org/sax/properties/lexical-handler";;
  -             reader.setProperty(prop, builder);
  -         }
  -         catch (SAXException e) {
  -             // quitely ignored
  -         }
  -         
  -         // Create a DTD monitor and pass it to the XMLReader object
  -         final DTDMonitor dtdMonitor = new DTDMonitor(reader);
  -         AbstractTranslet _translet = (AbstractTranslet)translet;
  -         dom.setDocumentURI(_fileName);
  -         if (_uri)
  -             reader.parse(_fileName);
  -         else
  -             reader.parse(new File(_fileName).toURL().toExternalForm());
  +            XSLTCDTMManager dtmManager = XSLTCDTMManager.newInstance();
   
  -         builder = null;
  +            final SAXImpl dom = (SAXImpl)dtmManager.getDTM(
  +                             new SAXSource(reader, new 
InputSource(_fileName)),
  +                             false, null, true, false, translet.hasIdCall());
   
  -         // If there are any elements with ID attributes, build an index
  -         dtdMonitor.buildIdIndex(dom, 0, _translet);
  -         // Pass unparsed entity descriptions to the translet
  -         _translet.setDTDMonitor(dtdMonitor);
  +         dom.setDocumentURI(_fileName);
  +            translet.prepassDocument(dom);
   
            // Pass global parameters
            int n = _params.size();
  @@ -205,20 +182,17 @@
            TransletOutputHandlerFactory tohFactory = 
                TransletOutputHandlerFactory.newInstance();
            tohFactory.setOutputType(TransletOutputHandlerFactory.STREAM);
  -         tohFactory.setEncoding(_translet._encoding);
  -         tohFactory.setOutputMethod(_translet._method);
  +         tohFactory.setEncoding(translet._encoding);
  +         tohFactory.setOutputMethod(translet._method);
   
            if (_iterations == -1) {
  -             translet.transform(dom, _useOldOutputSystem ?
  -                                     
tohFactory.getOldTransletOutputHandler() :
  -                                     tohFactory.getTransletOutputHandler());
  +             translet.transform(dom, tohFactory.getSerializationHandler());
            }
            else if (_iterations > 0) {
                long mm = System.currentTimeMillis();
                for (int i = 0; i < _iterations; i++) {
  -                 translet.transform(dom, _useOldOutputSystem ?
  -                                         
tohFactory.getOldTransletOutputHandler() :
  -                                         
tohFactory.getTransletOutputHandler());
  +                 translet.transform(dom,
  +                                    tohFactory.getSerializationHandler());
                }
                mm = System.currentTimeMillis() - mm;
   
  @@ -322,9 +296,6 @@
                    else if (args[i].equals("-j")) {
                        isJarFileSpecified = true;      
                        jarFile = args[++i];
  -                 }
  -                 else if (args[i].equals("-e")) {
  -                     _useOldOutputSystem = true;
                    }
                    else if (args[i].equals("-n")) {
                        try {
  
  
  

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

Reply via email to