Author: davsclaus Date: Thu Feb 11 15:52:55 2010 New Revision: 909036 URL: http://svn.apache.org/viewvc?rev=909036&view=rev Log: CAMEL-2463: xslt component now supports using xsl:include where the included files is loaded from classpath and relative according to the endpoint configured location.
Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java?rev=909036&r1=909035&r2=909036&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java (original) +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/xslt/XsltComponent.java Thu Feb 11 15:52:55 2010 @@ -37,6 +37,7 @@ */ public class XsltComponent extends ResourceBasedComponent { private XmlConverter xmlConverter; + private URIResolver uriResolver; public XmlConverter getXmlConverter() { return xmlConverter; @@ -46,6 +47,14 @@ this.xmlConverter = xmlConverter; } + public URIResolver getUriResolver() { + return uriResolver; + } + + public void setUriResolver(URIResolver uriResolver) { + this.uriResolver = uriResolver; + } + protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { Resource resource = resolveMandatoryResource(remaining); if (log.isDebugEnabled()) { @@ -83,7 +92,11 @@ } // set resolver before input stream as resolver is used when loading the input stream - URIResolver resolver = new XsltUriResolver(getCamelContext().getClassResolver(), remaining); + URIResolver resolver = getUriResolver(); + if (resolver == null) { + // fallback to use a Camel specific resolver + resolver = new XsltUriResolver(getCamelContext().getClassResolver(), remaining); + } xslt.setUriResolver(resolver); xslt.setTransformerInputStream(resource.getInputStream());