[ https://issues.apache.org/jira/browse/COCOON3-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simone Tripodi updated COCOON3-6: --------------------------------- Attachment: XSLTTransformerOptimization.patch The provided patch implements a static storage when Templates will be stored and retrieved to perform transformation operations. In that way, same transformers that point at same URL source, don't parse same URL twice; the Templates objects will be created just if it wasn't previously stored. > The org.apache.cocoon.pipeline.component.sax.XSLTTransformer can be optimized > ----------------------------------------------------------------------------- > > Key: COCOON3-6 > URL: https://issues.apache.org/jira/browse/COCOON3-6 > Project: Cocoon 3 > Issue Type: New Feature > Components: cocoon-pipeline > Affects Versions: 3.0.0-alpha-2 > Reporter: Simone Tripodi > Assignee: Cocoon Developers Team > Priority: Minor > Fix For: 3.0.0-alpha-2 > > Attachments: XSLTTransformerOptimization.patch > > > Every time the XSLTTransformer#setXMLConsumer method is called, the XSLT is > parsed reading the URL source and used to create the > javax.xml.transform.sax.TransformerHandler: to be more clear > [...] > XSLTTransformer xsltTransformer = new > XSLTTransformer(getClass().getResource("myXSLT.xsl")); > Pipeline pipeline1 = new NonCachingPipeline(); > pipeline1.addComponent(new StringGenerator("<x><y/></x>")); > pipeline1.addComponent(xsltTransformer); > pipeline1.addComponent(new XMLSerializer()); > pipeline1.setup(System.out); > pipeline1.execute(); > Pipeline pipeline2 = new NonCachingPipeline(); > pipeline2.addComponent(new StringGenerator("<z><w/></z>")); > pipeline2.addComponent(xsltTransformer); <========================== the URL > pointed by getClass().getResource("myXSLT.xsl") will be parsed again!!! > pipeline2.addComponent(new XMLSerializer()); > pipeline2.setup(System.out); > pipeline2.execute(); > As a quick solution we can store the Template to build the transformer > handler objects in a static hashmap, but in the future we should introduce > stores. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.