cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simone Tripodi (JIRA)" <j...@apache.org>
Subject [jira] Created: (COCOON3-6) The org.apache.cocoon.pipeline.component.sax.XSLTTransformer can be optimized
Date Wed, 22 Oct 2008 13:30:45 GMT
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


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.


Mime
View raw message