Thanks for getting to the bottom of it. To me it's an obvious Saxon bug. I'm wondering, is there any other option to inject parameters into (Saxon) Templates ?
cheers, Sergey On Wed, Jul 14, 2010 at 10:45 PM, Jason Coon <[email protected]> wrote: > > Sergey, I stepped through the XSLTJaxbProvider code, and I think I found > the > problem. The following line in marshalToOutputStream: > > TransformerHandler th = > factory.newTransformerHandler(createTemplates(getOutTemplates(mt), > outParamsMap, outProperties)); > > I found that the createTemplates method is creating a new TemplatesImpl, > which implements Templates, but is not an instance of PreparedStylesheet. > Apparently the saxon transformer factory checks to make sure the Templates > are an instance of PreparedStylesheet, and throws an exception if not: > > if (!(templates instanceof PreparedStylesheet)) { > throw new TransformerConfigurationException("Templates object > was not created by Saxon"); > } > > For now, I've made my own copy of XSLTJaxbProvider, and replaced the above > code with: > > TransformerHandler th = factory.newTransformerHandler(getOutTemplates(mt)); > > This works, and my xslt template is being applied. It looks like this will > not pass parameters and out properties to the transformer, which doesn't > currently affect me. > -- > View this message in context: > http://cxf.547215.n5.nabble.com/XSLTJaxbProvider-getting-TransformerConfigurationException-Templates-object-was-not-created-by-Saxon-tp1046769p1111305.html > Sent from the cxf-user mailing list archive at Nabble.com. >
