Hi Tom,
 
I use SilverStream 3.73 and Xalan and it works well.
You should check, whether you'll get the Xalan-Transformer-Factory or another 
by printing the full qualified classname with:

System.out.println(tFactory.getClass().getName());

I guess it depends on Properties, wich Transformerfactory-Implementation you 
get. If you don't get Xalans TF-Implementation, you may swap some libaries in 
the AGClasspath or change Properties. You can force the VM to take the right 
TF-Impl by using Class-ForName. 

Another point maybe that the Server gets confused by setting the content-type 
of the outputstream. If the Stylesheet sets the content-type (via xsl:method) 
and the encoding it's not set twice if you omit 

res.setContentType("text/html; charset=UTF-8"); 

Hope that helps. Stefan

BTW. Why do you use // instead of / for URLs ?

-----Ursprüngliche Nachricht----- 
Von: Tom Eastmond [mailto:[EMAIL PROTECTED] 
Gesendet: Mi 10.09.2003 06:46 
An: [EMAIL PROTECTED] 
Cc: 
Betreff: SilverStream delays



        I am testing SimpleXSLTServlet on a SilverStream 3.75 application 
server. The first time the servlet is run it takes nearly 18 minutes (not 
seconds). After the first run, execution times are less then half a second. I 
don’t see this delay running the same servlet in Tomcat 4.1. Below I’ve 
included the code I’m using – does anyone know why this could be taking so long?

         

        TIA,

        Tom

         

                    long start = System.currentTimeMillis();

        // The servlet returns HTML.

                    res.setContentType("text/html; charset=UTF-8");    

                    // Output goes in the response stream.

                    PrintWriter out = res.getWriter();

                    try

                    {           

                                TransformerFactory tFactory = 
TransformerFactory.newInstance();

                                // Get the XML input document and the 
stylesheet.

                                Source xmlSource = new StreamSource(new 
URL("file", "", "..//Resources//StyleSheets//birds.xml").openStream());

                                Source xslSource = new StreamSource(new 
URL("file", "", "..//Resources//StyleSheets//birds.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));

                        }

                        catch (Exception e)

                        {

                                out.write(e.getMessage());

                                e.printStackTrace(out);    

                        }

                        out.close();

                        System.out.println("Time elapsed: " + 
(System.currentTimeMillis() - start));  //typical output on first run - 1118617

                        return;                                                 
                                                    //afterwards - 400-500

Reply via email to