Hi

Have you checked the Camel documentation?
http://camel.apache.org/xslt.html

There is a section titled - Getting Parameters into the XSLT to work with


On Thu, May 13, 2010 at 6:57 PM, Vikas Kumar Arora
<[email protected]> wrote:
>
> Hi,
> Is there a way to pass Map as a param to XSLT component?
> Camel 1.6.2 (As we run on Jdk1.4, no other choice)
>
> Requirement: I've location maps(Properties file) M1, M2 etc from Partners
> P1, P2. And before forwarding the request to WS, I have to apply the XSL
> Transforamtion to convert P1, P2 etc format to our WS format. But in this
> process I've to apply Location Code transformation as well.
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                                        
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
>                                        xmlns:ws="http://ws.xxxxxx.com";
>                                        
> xmlns:spml="urn:oasis:names:tc:SPML:2:0"
>                                        
> xmlns:udc="urn:xxxxx:enterprise:domain:identity:1.0"
>                                        
> xmlns:xalan="http://xml.apache.org/xalan";
>                                        xmlns:map="java:java.util.Map"
>                                        exclude-result-prefixes="xalan spml ws 
> soapenv"
>                                        version="2.0">
>
>                   <xsl:output method="xml" omit-xml-declaration="yes"/>
>                   <!--xsl:param name="title"/-->
>                   <xsl:param name="map"/>
>
>                   <xsl:template match="@* | node()">
>                        <xsl:copy>
>                           <xsl:apply-templates select="@* | node()" />
>                        </xsl:copy>
>                   </xsl:template>
>
>                   <xsl:template match="udc:UDCIdentity">
>                        <!--xsl:value-of select="$title"/-->
>                        <xsl:value-of select="map:get($map, 'locationCode')"/>
>                        <xsl:copy>
>                           <xsl:apply-templates select="@* | node()" />
>                        </xsl:copy>
>
>                   </xsl:template>
>
>                </xsl:stylesheet>
>
>
> Sample Camel Config that I'm experimenting for now:
>
> <camel:route>
>
>        <camel:from uri="jetty:http://localhost:8081/AuthN/esb"/>
>
>        <camel:setHeader
> headerName="myParam1"><camel:constant>1</camel:constant></camel:setHeader>
>        <camel:setHeader
> headerName="myParam2"><camel:constant>2</camel:constant></camel:setHeader>
>        <camel:setHeader
> headerName="myParam3"><camel:constant>3</camel:constant></camel:setHeader>
>        <camel:setHeader
> headerName="myParam4"><camel:constant>4</camel:constant></camel:setHeader>
>        <camel:setProperty propertyName="routeId">
>            <camel:header>1</camel:header>
>        </camel:setProperty>
>
>        <camel:to uri="xslt:transfomer.xsl"/>
>        <camel:to uri="bean:someBean"/>
>        <camel:to uri="http://login.dev2.XXXX.edu/AuthN/services/Service"/>
>
>        <!-- camel:filter>
>           <camel:mvel>request.headers.foo == 'bar'</camel:mvel>
>           <camel:to uri="http://login.dev2.XXXX.edu/AuthN/services/Service"/>
>                </camel:filter-->
>        </camel:route>
>
> </camel:camelContext>
>
>
> Some Spring Util config:
>
> <util:properties id="P1" location="classpath:LocationCodes.properties"/>
> (I'm not sure how could i inject into Camel SetProperty somewhere).
>
> Any suggestions would help.
>
> Thanks,
> Vikas
>
> --
> View this message in context: 
> http://old.nabble.com/Camel-XSLT%2C-how-to-pass-a-Map-param-to-XSL-tp28550003p28550003.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to