tags:

views:

60

answers:

1

I have a xsl file where i need to use parameters from an external source. I am using Java and my code looks something like this:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer xsltTransformer = transformerFactory.newTransformer(xsltSource);
xsltTransformer.setParameter(parameterName, parameterValue);

However, an exception is thrown at the 2nd line - *Variable or parameter 'variable_name' is undefined.* I realize that XSL is compiled and is probably compiled when the transformer is created.

So, how do i pass parameters to my transformation? How is the setParameter method supposed to be used?

+2  A: 

If you pass a parameter like:

transformer.setParameter("render_id", "1234");

the parameter can be picked up by the transform:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes"/>

<!-- Receives the id of the menu being rendered. -->
<xsl:param name="render_id" />
rsp