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]