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]