You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Gert-Jan van de Streek (JIRA)" <ji...@apache.org> on 2009/05/12 11:06:51 UTC

[jira] Updated: (CAMEL-1605) Passing an xml fragment as a parameter to an xslt transformation fails

     [ https://issues.apache.org/activemq/browse/CAMEL-1605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gert-Jan van de Streek updated CAMEL-1605:
------------------------------------------

    Attachment: transform.xsl
                TestXmlFragment-context.xml
                TestXmlFragment.java

I created a unit test to reproduce the problem. I attached 3 files:
+ TestXmlFragment.java
+ TestXmlFragment-context.xml
+ transform.xsl

> Passing an xml fragment as a parameter to an xslt transformation fails
> ----------------------------------------------------------------------
>
>                 Key: CAMEL-1605
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1605
>             Project: Apache Camel
>          Issue Type: Bug
>    Affects Versions: 1.6.0, 2.0-M1
>            Reporter: Gert-Jan van de Streek
>             Fix For: 1.6.1, 2.0-M2
>
>         Attachments: TestXmlFragment-context.xml, TestXmlFragment.java, transform.xsl
>
>
> I pass an xml fragment to an xslt. I have the following code where the queue holds xml messages
>        from("activemq:example.A")
>                .setHeader("agent.id", new XPathExpression("/"))
>                .process(new ReadLocalFile())
>                .to("xslt:transform.xsl")
> The xslt looks like:
>    ...
>    <xsl:param name="agent.xml"/>
> 	<xsl:template match="/">
> 		<xsl:value-of select="$agent.xml/agent/id" />
> I would expect the xml fragment to be available as a nodeset in the xsl, but I get the following exception:
> javax.xml.transform.TransformerException: java.lang.RuntimeException: Invalid conversion from 'com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList' to 'node-set'.
> 	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:670)
> 	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:300)
> 	at org.apache.camel.builder.xml.XsltBuilder.process(XsltBuilder.java:83)
>        ...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.