You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by "M. Delerue Rémy" <re...@delerue.org> on 2003/11/15 16:01:49 UTC

Call Xalan by a class

Hello all.

I've Xalan 2.5.1.
And I've a book which talk about Xalan 2.2.

In my book this classe is used for call Xalan by a Servet:

import java.net.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.servlet.*;
import org.apache.xalan.xslt.*;

public class xslservlet extends GenericServlet 
{

    public void service(ServletRequest request, ServletResponse
response) 
        throws ServletException, IOException 
    {
        response.setContentType("text/html");

        PrintWriter pw = response.getWriter();

        try 
        {  
            XSLTProcessor processor =
XSLTProcessorFactory.getProcessor();
            processor.process(new XSLTInputSource("planetes.xml"),
                new XSLTInputSource("planetes.xsl"),
                new XSLTResultTarget("planetes.html"));
         }
         catch(Exception e) {}  

        FileReader filereader = new FileReader("planetes.html");
        BufferedReader bufferedreader = new BufferedReader(filereader);
        String instring;

        while((instring = bufferedreader.readLine()) != null) {
            pw.println(instring);
        }

        filereader.close();
        pw.close();
  }
}

So, I've writed it in a file xslservlet and try to compile it but I've
an error:

remy@remy Java $ javac xslservlet.java
xslservlet.java:21: cannot resolve symbol
symbol  : class XSLTProcessor
location: class xslservlet
            XSLTProcessor processor =
XSLTProcessorFactory.getProcessor();
            ^
xslservlet.java:21: cannot resolve symbol
symbol  : variable XSLTProcessorFactory
location: class xslservlet
            XSLTProcessor processor =
XSLTProcessorFactory.getProcessor();
                                      ^
xslservlet.java:22: cannot resolve symbol
symbol  : class XSLTInputSource
location: class xslservlet
            processor.process(new XSLTInputSource("planetes.xml"),
                                  ^
xslservlet.java:23: cannot resolve symbol
symbol  : class XSLTInputSource
location: class xslservlet
                new XSLTInputSource("planetes.xsl"),
                    ^
xslservlet.java:24: cannot resolve symbol
symbol  : class XSLTResultTarget
location: class xslservlet
                new XSLTResultTarget("planetes.html"));
                    ^
5 errors

My classpath is 
remy@remy Java $ echo ${CLASSPATH} | sed y/:/" "/
/opt/sun-jdk-1.4.2.01/jre/lib /opt/sun-jdk-1.4.2.01/lib/tools.jar
/opt/sun-jdk-1.4.2.01/jre/lib/rt.jar . /opt/sun-j2ee-1.3.1/lib
/opt/sun-j2ee-1.3.1/lib/j2ee.jar /opt/sun-j2ee-1.3.1/lib/j2ee-ri-svc.jar
/opt/sun-j2ee-1.3.1/lib/j2eetools.jar /opt/sun-j2ee-1.3.1/lib/jhall.jar
/opt/sun-j2ee-1.3.1/lib/ejb10deployment.jar
/usr/share/xalan/lib/xalan.jar /usr/share/xerces/lib/xercesImpl.jar
/usr/share/xerces/lib/xercesSamples.jar
/usr/share/xerces/lib/xml-apis.jar
/usr/share/xerces/lib/xmlParserAPIs.jar /home/remy/Java

I've search in /usr/share/xalan/lib/xalan.jar but I've not find the good
classes.
So I want to know how to call Xalan by an other class or the nex
classes' names.

Rémy.

Note: I'm french and I'm not speak english well but I expect to my
message to be understand.

RE: Call Xalan by a class

Posted by Gary L Peskin <ga...@firstech.com>.
These classes are for XalanJ 1.x, not XalanJ 2.x.  I'm afraid that your book
is very out of date.
 
Please see SimpleXSLTServlet.java in the samples/servlet directory
distributed with XalanJ.  It does basically the same thing as your example,
except it works.
 
HTH,
Gary

-----Original Message-----
From: M. Delerue Rémy [mailto:remy@delerue.org] 
Sent: Saturday, November 15, 2003 7:02 AM
To: xalan-j-users@xml.apache.org
Subject: Call Xalan by a class


Hello all.

I've Xalan 2.5.1.
And I've a book which talk about Xalan 2.2.

In my book this classe is used for call Xalan by a Servet:

import java.net.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.servlet.*;
import org.apache.xalan.xslt.*;

public class xslservlet extends GenericServlet 
{

    public void service(ServletRequest request, ServletResponse response) 
        throws ServletException, IOException 
    {
        response.setContentType("text/html");

        PrintWriter pw = response.getWriter();

        try 
        {  
            XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
            processor.process(new XSLTInputSource("planetes.xml"),
                new XSLTInputSource("planetes.xsl"),
                new XSLTResultTarget("planetes.html"));
         }
         catch(Exception e) {}  

        FileReader filereader = new FileReader("planetes.html");
        BufferedReader bufferedreader = new BufferedReader(filereader);
        String instring;

        while((instring = bufferedreader.readLine()) != null) {
            pw.println(instring);
        }

        filereader.close();
        pw.close();
  }
}

So, I've writed it in a file xslservlet and try to compile it but I've an
error:

remy@remy Java $ javac xslservlet.java
xslservlet.java:21: cannot resolve symbol
symbol  : class XSLTProcessor
location: class xslservlet
            XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
            ^
xslservlet.java:21: cannot resolve symbol
symbol  : variable XSLTProcessorFactory
location: class xslservlet
            XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
                                      ^
xslservlet.java:22: cannot resolve symbol
symbol  : class XSLTInputSource
location: class xslservlet
            processor.process(new XSLTInputSource("planetes.xml"),
                                  ^
xslservlet.java:23: cannot resolve symbol
symbol  : class XSLTInputSource
location: class xslservlet
                new XSLTInputSource("planetes.xsl"),
                    ^
xslservlet.java:24: cannot resolve symbol
symbol  : class XSLTResultTarget
location: class xslservlet
                new XSLTResultTarget("planetes.html"));
                    ^
5 errors

My classpath is 
remy@remy Java $ echo ${CLASSPATH} | sed y/:/" "/
/opt/sun-jdk-1.4.2.01/jre/lib /opt/sun-jdk-1.4.2.01/lib/tools.jar
/opt/sun-jdk-1.4.2.01/jre/lib/rt.jar . /opt/sun-j2ee-1.3.1/lib
/opt/sun-j2ee-1.3.1/lib/j2ee.jar /opt/sun-j2ee-1.3.1/lib/j2ee-ri-svc.jar
/opt/sun-j2ee-1.3.1/lib/j2eetools.jar /opt/sun-j2ee-1.3.1/lib/jhall.jar
/opt/sun-j2ee-1.3.1/lib/ejb10deployment.jar /usr/share/xalan/lib/xalan.jar
/usr/share/xerces/lib/xercesImpl.jar /usr/share/xerces/lib/xercesSamples.jar
/usr/share/xerces/lib/xml-apis.jar /usr/share/xerces/lib/xmlParserAPIs.jar
/home/remy/Java

I've search in /usr/share/xalan/lib/xalan.jar but I've not find the good
classes.
So I want to know how to call Xalan by an other class or the nex classes'
names.

Rémy.

Note: I'm french and I'm not speak english well but I expect to my message
to be understand.