You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Rabi Shanker <ra...@hotmail.com> on 2001/05/15 16:07:10 UTC

xml, xsl to xsl:fo

hi all,
  i am trying to generate a fo file from xml and xsl files with the help of 
a servlet.
i am using apache1.3.6, tomcat3.2.1 and xalan -j_1_2_2.
while running the servlet i am not able to transform the xsl and xsl to fo 
file.  i am getting the error java.io.FileNotFoundException.
could any one help me.
thanx in advance.
cheers!!¨
Rabi


error that i am getting
-----------------------
fo.xml (Das System kann die angegebene Datei nicht 
finden)java.io.FileNotFoundException: fo.xml (Das System kann die angegebene 
Datei nicht finden) at java.io.FileInputStream.open(Native Method) at 
java.io.FileInputStream.(FileInputStream.java:64) at 
sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:69) 
at 
sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:133) 
at java.net.URL.openStream(URL.java:798) at 
SampleXSLTServlet.doGet(SampleXSLTServlet.java:28) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at 
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at 
org.apache.tomcat.core.Handler.service(Handler.java:286) at 
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at 
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) 
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at 
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) 
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) 
at 
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) 
at java.lang.Thread.run(Thread.java:484)



my servlet code
----------------
import javax.servlet.*;
import javax.servlet.http.*;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import javax.xml.transform.*;
import javax.xml.transform.stream.*;

import java.io.*;

public class SampleXSLTServlet extends HttpServlet {

  // Respond to HTTP GET requests from browsers.
  public void doGet (HttpServletRequest request, HttpServletResponse 
response)
    throws ServletException, IOException
  {
    // Output goes in the response stream.
    java.io.PrintWriter out = new 
java.io.PrintWriter(response.getOutputStream());
    // Set content type for HTML.
    response.setContentType("text/xml");   //html
    try
    {
      TransformerFactory tFactory =
                TransformerFactory.newInstance();
      // Get the XML input document and the stylesheet, both in the servlet
      // engine document directory.
      Source xmlSource =
                new StreamSource
                             (new 
java.net.URL("http://localhost:8080/examples/fo.xml").openStream());
      javax.xml.transform.Source xslSource =
                new StreamSource
                             (new 
java.net.URL("http://localhost:8080/examples/fo.xsl").openStream());
      // Generate the transformer.
      Transformer transformer =
                             tFactory.newTransformer(xslSource);
      // Perform the transformation, sending the output to the response.
      transformer.transform(xmlSource, new StreamResult(out));
    }
    // If an Exception occurs, return the error to the client.
    catch (Exception e)
    {
      out.write(e.getMessage());
      e.printStackTrace(out);
    }
    // Close the PrintWriter.
    out.close();
  }
}


_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


Re: xml, xsl to xsl:fo

Posted by "陳照東) <alex@erp.ncu.edu.tw>" <Alex>.
hi
   IMHO , when u get an URL try to get data  by using openStream() is not
complete,
                 u can try to use BufferRader by using ReadLine() to
retrieve the datasource to try again !!.

IT DEP. Special Team-XML
       System Engineer
       Alex     陳照東
Tel:+886-3-422-7151  Ext: 6024
Mobile:+886-0939-011-336

alex@ERP.NCU.EDU.TW
=Business to Business=
----- Original Message -----
From: "Rabi Shanker" <ra...@hotmail.com>
To: <xa...@xml.apache.org>
Sent: Tuesday, May 15, 2001 2:07 PM
Subject: xml, xsl to xsl:fo


hi all,
  i am trying to generate a fo file from xml and xsl files with the help of
a servlet.
i am using apache1.3.6, tomcat3.2.1 and xalan -j_1_2_2.
while running the servlet i am not able to transform the xsl and xsl to fo
file.  i am getting the error java.io.FileNotFoundException.
could any one help me.
thanx in advance.
cheers!!?
Rabi


error that i am getting
-----------------------
fo.xml (Das System kann die angegebene Datei nicht
finden)java.io.FileNotFoundException: fo.xml (Das System kann die angegebene
Datei nicht finden) at java.io.FileInputStream.open(Native Method) at
java.io.FileInputStream.(FileInputStream.java:64) at
sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:6
9)
at
sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection
.java:133)
at java.net.URL.openStream(URL.java:798) at
SampleXSLTServlet.doGet(SampleXSLTServlet.java:28) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at
org.apache.tomcat.core.Handler.service(Handler.java:286) at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)



my servlet code
----------------
import javax.servlet.*;
import javax.servlet.http.*;

import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import javax.xml.transform.*;
import javax.xml.transform.stream.*;

import java.io.*;

public class SampleXSLTServlet extends HttpServlet {

  // Respond to HTTP GET requests from browsers.
  public void doGet (HttpServletRequest request, HttpServletResponse
response)
    throws ServletException, IOException
  {
    // Output goes in the response stream.
    java.io.PrintWriter out = new
java.io.PrintWriter(response.getOutputStream());
    // Set content type for HTML.
    response.setContentType("text/xml");   //html
    try
    {
      TransformerFactory tFactory =
                TransformerFactory.newInstance();
      // Get the XML input document and the stylesheet, both in the servlet
      // engine document directory.
      Source xmlSource =
                new StreamSource
                             (new
java.net.URL("http://localhost:8080/examples/fo.xml").openStream());
      javax.xml.transform.Source xslSource =
                new StreamSource
                             (new
java.net.URL("http://localhost:8080/examples/fo.xsl").openStream());
      // Generate the transformer.
      Transformer transformer =
                             tFactory.newTransformer(xslSource);
      // Perform the transformation, sending the output to the response.
      transformer.transform(xmlSource, new StreamResult(out));
    }
    // If an Exception occurs, return the error to the client.
    catch (Exception e)
    {
      out.write(e.getMessage());
      e.printStackTrace(out);
    }
    // Close the PrintWriter.
    out.close();
  }
}


_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.