You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Huib Verweij <Hu...@mpi.nl> on 2011/01/30 12:55:45 UTC

Cocoon 2.2, STX block, TraxTransformer, transformer-factory

Hi,

I'd like to use the STX block in Cocoon 2.2, but it doesn't work, I get the same error as mentioned here: http://www.mail-archive.com/dev@cocoon.apache.org/msg52324.html ("stylesheet requires attribute version").

I think the problem is in the TraxTransformer that no longer supports the "transformer-factory" config option (the Cocoon 2.1.11 version does).In the stx block the stx transformer is declared like this:

<map:transformer name="stx"
                     logger="sitemap.transformer.stx"
                     src="org.apache.cocoon.transformation.TraxTransformer">
        <transformer-factory>net.sf.joost.trax.TransformerFactoryImpl</transformer-factory>
    </map:transformer>

so it is using the "transformer-factory" config option. So what happens is, I think, the default transformer factory for XSLT stylesheets is used, it generates a transformer, which is a XSLT transformer, which checks for the version attribute on the <xsl:stylesheet/> element, which does not exist in the STX stylesheet, and it generates the above error. Or something like that.

So, do you have any tips on how to get this working again? 

Huib Verweij.