Thanks lot for pointing me in right direction. In the code base system property
for transformation factory is set to "null" that's why processor uses sun's
transformation packages(XSLTC) instead of saxon which gives error. I realized
that com.sun.org.apache.xalan.internal.xsltc.compiler.Variable present in
rt.jar which is part of JDK. This does not occur always, becos the part of code
setting system property for transformation factory to null is executed in
*Some* conditions.
-RB
--- On Mon, 3/16/09, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
From: Michael Kay <mike(_at_)saxonica(_dot_)com>
Subject: RE: [xsl] File:New generates error
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date: Monday, March 16, 2009, 8:52 AM
You're not using Saxon here, you're using the XSLTC
processor (part of the
Xalan product). I suspect that's related to the the
problem, since calling
conventions for extension functions depend on the processor
you are using.
Since file:exists in Java returns a boolean, I would
suggest taking out the
" = 'true'" part of the test, since comparing a boolean to
a string is
somewhat error-prone.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Cool The Breezer [mailto:techcool(_dot_)kumar(_at_)yahoo(_dot_)com]
Sent: 16 March 2009 12:18
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] File:New generates error
Hi,
We have strange error started coming recently for
using java
A= PI to check file existence. Recently we moved to
saxon and
earlier we were using Xalan but I dont think this
caused the
error. We were using this code since years or so
without any
problem and this error =A0comes randomly. I am not
able to
replicate this in dev environment. I would appreciate
your
help on finding root cause of this problem.
XSL Code:
<xsl:template name="file-exists"
xmlns:file="java.io.File">
<xsl:param
name="filename"/>
<xsl:choose>
<xsl:when
test="file:exists(file:new($filename)) =
'true'">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</xsl:template>
Error:
ERROR: 'Cannot convert argument/return type in
call to
method 'java.io.File.new(reference)''
FATAL ERROR: 'Could not compile stylesheet'
java.lang.ClassCastException:
com.sun.org.apache.xalan.internal.xsltc.compiler.Variable
cannot be cast to
com.sun.org.apache.xalan.internal.xsltc.compiler.Param
at
com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable.a
ddParam(Unknown Source)
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--