The CamelXsltResourceUri header is *only* for the location of the xls file. Any other options like a custom resolver must be set on the endpoint / component level.
On Tue, Aug 6, 2013 at 8:39 PM, ericsodt <dean.eric...@ll.mit.edu> wrote: > Claus, > > The question I am asking is not one that can be resolved by the FAQ you > pointed to. I notice this question gets posted a lot and no one seems to be > fully answering it. Here's my go at it: > > The Camel xslt docs mention "Dynamic Stylesheets" by saying the following: > /*Available as of Camel 2.9* > Camel provides the CamelXsltResourceUri header which you can use to define a > stylesheet to use instead of what is configured on the endpoint URI. This > allows you to provide a dynamic stylesheet at runtime./ > > I wish they could have supported their documentation better and provided an > example. Hopefully the example below will help others. > > {code} > // register myResolver bean > SimpleRegistry sr = new SimpleRegistry(); > sr.put("myResolver", new MyResolver()); > > from("direct:location") > .setHeader("CamelXsltResourceUri", > simple("xslt:http://localhost:8080/<path>/<to>/<template>?uriResolver=#myResolver")) > .to("xslt:placeHolderTemplate.xsl") > {/code} > > Then within the myResolver class, fetch a remote resource and pull down the > xml you wish to use. > > NOTE: placeHolderTemplate.xsl is a real file located on the classpath for > compile-time validation. Once we execute this route and Camel see's the > "CamelXsltResourceUri" property in the headers, it will use the properties > value as an argument into myResolver. > > MyResolver looks like the following: > {code} > class MyResolver extends XsltUriResolver { > public Source resolve(String href, String base) throws > TransformerException { > if(href.contains("xslt:")){ > // do logic to get resource > } > } > } > {/code} > > I hope that helps > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Dynamic-xsl-with-custom-uri-resolver-tp5736668p5736862.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen