Subject:Error when trying to a call a template from an imported XSL Author:princy Mathew Date:17 Nov 2008 09:18 AM
Greetings to all,
I have an application which converts XSL to PDF using FOP.
When running on JDK 1.4 and Tomcat 5.0, this application converted XSL files to PDF perfectly.
But when I moved the application to Tomcat 5.5 and JDK 1.5, conversion of XSL files to PDF threw some errors.
One of the errors was due to 'value-of select' that I used in my XSL. I have posted this issue in this forum and I got the solution for it (Thanks to Mike)
But now I have a new error.
Actually I have 2 XSL files named 'Main.xsl' and 'Layout.xsl' .
Below is my Main.xsl
*********************************************
<?xml version="1.0" encoding="UTF-8"?>
Subject:Error when trying to a call a template from an imported XSL Author:princy Mathew Date:18 Nov 2008 09:34 AM
Hi all,
Actually there was a mistake in my XSL.
This mistake is ignored when the application runs on Tomcat 5.0 and JDK1.4. But when it is running on Tomcat 5.5 and JDK1.5, it would throw error. (My application compiles the XSL and places it in cache before converting XSL to PDF using FOP)
The following is the mistake that I had in my XSL:
My MainXSL had a template named 'First' which calls another template 'Second'. Actually I am not calling 'First' in any part of my XSL(that is the 'First' template is not at all accessed) and there is no 'Second' template neither in my Main XSL nor in my Layout.xsl.(the xsl which is imported in my main XSL).
The error was because I did not give any definition for the template 'Second' (even though I never tried to access it .)
******************************************
Below is my Main.xsl
*********************************************
<?xml version="1.0" encoding="UTF-8"?>
When I removed 'First.xsl' (which I was not at all using), it worked perfectly in JDK1.5 and Tomcat 5.5
One more thing, that I noted is that if a variable name is having a space at the end, it would throw error in JDK 1.5 and Tomcat 5.5. But not in JDK 1.4 and Tomcat 5.0.
That is for exaample:
<xsl:variable name="Test " select="'testing'"/> (Note that there is a space between variable name Test and double quote " )
The above code snippet will work fine on JDK1.4 but not on JDK 1.5
I know that the explanation which I gave above is quite confusing . But hope this helps someone else later.....