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

RE: Optimizing Trax

Subject: RE: Optimizing Trax
From: Rob Rohan <me@xxxxxxxxxxxx>
Date: 20 Jun 2003 12:51:49 -0700
domsource to inputstream
On Fri, 2003-06-20 at 12:22, Schwartz, Rechell R, ALABS wrote:
> How do I tranform the document using SAX-- i.e., how do I change this
> line?
> 
>  transformer.transform(new DOMSource(document), new StreamResult(out));
> 
This is kind of more a java question than an XSLT question. Here is a
snip-it that I use in one of my programs - it's a touch kludgey but if
you know java you can decipher the needed parts - if you can't I
recommend "Java & XML" second edition by Brett McLaughlin from O'Reilly

public long transform(java.io.InputStream xmlin, java.io.InputStream
xslin, java.io.OutputStream output, java.io.File xslURI, java.io.File
xmlURI) throws Exception {
       
	strResult = null;
	if(params == null)
		params = new Vector();
	   
       String media = null;
       
       //set the factory to the specified one       
	System.setProperty("javax.xml.transform.TransformerFactory",  XSLTFactory);
              
       //get an instance and make a result object       
	tfactory = javax.xml.transform.TransformerFactory.newInstance();
       
	strResult = new javax.xml.transform.stream.StreamResult(output);
       
	stf = (javax.xml.transform.sax.SAXTransformerFactory) tfactory;
           
       StreamSource ss = new StreamSource(xslin);
       if(xslURI != null) ss.setSystemId(xslURI);
       
       stylesheet = tfactory.newTemplates(ss);
       
       transformer = stylesheet.newTransformer();

       //set params       
	for(int i=0; i < params.size()-1; i++)
        	transformer.setParameter((String) params.elementAt(i), (String)params.elementAt(i+1));

        //do the transformation  
	StreamSource input = new StreamSource(xmlin);
        if(xmlURI != null) input.setSystemId(xmlURI);

     
        transformer.transform(input, strResult);
....


> Rechell Schwartz
> 
> -----Original Message-----
> From: J.Pietschmann [mailto:j3322ptm@xxxxxxxx]
> Sent: Friday, June 20, 2003 3:13 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Optimizing Trax
> 
> 
> Schwartz, Rechell R, ALABS wrote:
> > I am using Trax to transform my xml files, and am finding the
> performance
> > very slow especially for large files. Are there any ways of optimizing
> the
> > performance such as by pre-compiling the stylesheets?
> 
> Yes, but your time is probably wasted elsewhere.
> 
> 
>  > transformer = tFactory.newTransformer(new 
> StreamSource(getClass().getResourceAsStream(xsl)));
>  > transformer.transform(new DOMSource(document), new
> StreamResult(out));
>                               ^^^^^^^^^^^^^^^^
> Use a profiler to check where your program wastes time:
> - DB access or whereever you get your raw data
> - DOM construction
> - transformation
> If it is the latter, check your XSL for inefficient constructs.
> If it is DOM construction, use SAX. Also DOM uses a lot of memory,
> which may be a problem in itself (more GC).
> 
> J.Pietschmann
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
-- 
   ´¨)
 ¸.·´¸.·´¨)    ¸.·´¨)
(¸.·´    (¸.·´   .·´ ¨¨°º©Rob Rohan©º°¨¨°º ¨¨°º©?

http://treebeard.sourceforge.net
http://ashpool.sourceforge.net

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.1 (GNU/Linux)

mQGiBD7mjIMRBADXYdJqgG5q6/aZ8jrTkhJ3Hu6c9J0CNGfFUbGikoNXmBmQ/1Q/
ECvrOhjuxreCzO+KobVWN6TljbVyUSWbyQrvbFg4KzNE3Dy+hpxei4UQ0jc8VNG1
CNxizn+NWU/WMiRZx+iVkj+X65n3hfK2uPqj1xyw0409WN2myJEwAmuVpwCghQMa
iOb4pbngjmGlH6kWyhn+GHkEAIx59mhslaSInjI6lNRfTxOjAPi4QqOTGpNiN0JE
VfJIsoFMv13c8eckMpTvG+YC1UzifkwOSSQr/niwH0yaZjlouBJj/CkZdCUyFojz
NdnkpgBmzpS3qN9fkdwe2jdWh4Xr3MU7uHHfrLlyOh5/P4ocuUDXYnI8oRj1YQCk
NbrYA/4uyUCdKBV0bMRrL/njv1hyZ7FBNPtsfVv1yeO/r/xHeoVGeL+e0RPYaACH
+OVJWeutp1BTbmRcpHybMxqV5WdCFP4wb2M7q2Ho4t/YvCMZn6Wr6UoPqVd6qodn
eoQkoRHBDhnyYdBEpSC1WEaZZwHKyB3ymotBvkey5tBif5SVbLQbUm9iIFJvaGFu
IDxtZUByb2Jyb2hhbi5jb20+iFkEExECABkFAj7mjIMECwcDAgMVAgMDFgIBAh4B
AheAAAoJEE6b6BGYNseYXucAn3OFl3BiO4Gxr3FFPE3lRPS2CVYsAJ9gXsbm9ws7
aWz5c4gbOUtDIDr9aLkCDQQ+5oyNEAgAphZh1SrEIyVGBerCqMeJunAKEiwJKt68
AfgCOppVnnDWZhlYGJuA3PMOXdA+Gjz6XCOnZ8YZ8EhAfZ6pZe7EQcGsT9rSWosb
W7IEZVazcvEVasWNavEfLzi7vtE3L21VyLTR+2l3hhar+x8HDuSHiTrkRs1d5jC7
2tha1BERgRQUnB17UvXEg1j62rWJMD0A+57mldYgP2Tf4t0OEoMkIB0lCHdXg3pb
7KQnmJK1LnIP4+mfzfg2Ls8QyNtBnV58uT6QB/v+wV4P1mp/z0f4y4urEiXPp0mp
OodBnE9z90bV0TaAv5MKd7G2dI+1e57/IAo8nI0SweZOIY5aKNHa7wADBQf/Zrg+
5YClrd8e044Aw0xHgpu1K506I3bfQBkmRPqKXMFwX2ZFL1m7lG+aHOyTwuuxteUC
SIT3bKGwWZX70COcU2bHu24Rpd6CiugK1GF0RaZHC0cKAbrrgljFCX4RVK3b+l0c
tRNaN4WLcJDdCLXy+WCIRMmAjjD7wEqSff5woLF5KDOaHw3jbz71rE4h9OEjEwcm
wUfPtA7Q2hGDCriDVnEBYN/HN4fFy5lbpV677+JaV3O5zZ5/SKG0atzLHlYQGO18
ersSWxsU61JTBKWSdT95aWKD42jXsLJmlWIfbLlpe8H9NlQqKAf+LfYE7gE3hcgS
xB55e6lOCu54qTr3lIhGBBgRAgAGBQI+5oyNAAoJEE6b6BGYNseY1FYAn1Q7yy/R
bpMbWhEAkMmlOVI6G9hqAJ9P980Z8hCooc3PKSqmZ7O/Y3E4QQ==
=zEJg
-----END PGP PUBLIC KEY BLOCK-----


 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.