Subject: RE: File:New generates error
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 16 Mar 2009 12:52:10 -0000
|
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.kumar@xxxxxxxxx]
> Sent: 16 March 2009 12:18
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: 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)
|