[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Is there any way to make this faster

Subject: Re: Is there any way to make this faster
From: "Ritu" <rkama@xxxxxxxxxxx>
Date: Wed, 12 Feb 2003 09:03:27 -0600
faster xslt
Hi,

You are exactly right. In the init you can load all the XSL in some form of
cache in memory and use them for each transform. The pre-compiled XSLs will
be much faster than the current approach.

The way to do it is as follows:

//Init
//Initialization  - assuming that Length contains the number of XSLs to
cache
TransformerFactory tfactory = TransformerFactory.newInstance();
Templates templates[]=new Templates[Length];

//For each XSL
templates[i]=tfactory.newTemplates(new StreamSource(__xslt));

//Run
//For each transformation
try {
        transformer = templates[i].newTransformer();
        StringWriter output=new StringWriter();
   transformer.transform(streamsource[i],new StreamResult(output));

} catch (Exception e) {
        System.out.println(e.toString());


I hope this helps.

Ritu Kama
Sarvega Inc
745, McLintock Dr
Burr Ridge
IL - 60527
----- Original Message -----
From: "Bill Chmura" <Bill@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, February 12, 2003 8:21 AM
Subject: RE:  Is there any way to make this faster


>
> I'd be interested in an answer to this one also...
>
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of TP
> Sent: Wednesday, February 12, 2003 8:51 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Is there any way to make this faster
>
>
> I use xalan with servlets. In every doGet I invoke the following code to
> transform my xml into html
>
> ////////////////////////////////////////////////////////////////////////
> ////
> //////////////////////////////
>   TransformerFactory tFactory = TransformerFactory.newInstance();
>   final String documentRoot =
> getServletConfig().getServletContext().getRealPath("/");
>   URIResolverImpl resolver = new URIResolverImpl(documentRoot +
> "/WEB-INF/xslt/");
>   tFactory.setURIResolver(resolver);
>   Source xmlSource = new StreamSource(new StringReader(xml));
>   Source xslSource = new StreamSource(new URL("file:" +
> finalxsl).openStream());
>   javax.xml.transform.Transformer transformer =
> tFactory.newTransformer(xslSource);
>   transformer.transform(xmlSource, new StreamResult(out));
>   cat.debug("RMSServlet:transformToHTML, transformed and leaving");
> ////////////////////////////////////////////////////////////////////////
> ////
> //////////////////////////////
>
> What i want to know for knowledge sake is what happens when these set of
> operations are invoked. What my goal is to figure out, that is there any
> way to make this code perform better. For example would it hurt or help
> if during init() I get all the xsl into memory and then invoke them my a
> hashtable reference during the transform.
>
> Please let me know.
>
> Thanks.
>
> TP.
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.