Re.[xsl] calling extension java functions. ( Saxon Vs Xalan)

Subject: Re.[xsl] calling extension java functions. ( Saxon Vs Xalan)
From: "Laura" <xsl_list@xxxxxxxxxxx>
Date: Fri, 17 Jan 2003 14:03:30 -0000
 Thanks Dave and Cams..
 I did the stuff and had it running with Xalan..and everything is fine with
 XALAN. Fails with Saxon. The saxon.jar and the str-utils.jar( this contains
 my specific java stuff) are in classpath. The following is the Dos Result
 Screen

 D:\tests>java org.apache.xalan.xslt.Process -IN str.xml -XSL str.xsl -OUT
 RED
 BLUE
 BLACK
 GREEN
 ---------------------------------------------------------------------------
----------------------------
 With Saxon:

 Transform failed:  At xsl:value-of on line 18 of file:/D:/tests/str.xsl: No
 method matching upperCase with 1 parameter found in class
 com.myutils.utils.StringUtils

 This was just to test the extension functions in saxon. I know I could have
 used translate() method  to get the uppercase. But this is kind of a test
to
 get the Java thing running with Saxon.
 The bit that calls the extension element:
 <xsl:value-of select="str-utils:upperCase($colors)"/>

 and the namespace is:
 <xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
 xmlns:str-utils = "com.myutils.utils.StringUtils"
 extension-element-prefixes ="str-utils">

 I cant understand why this  fails  with Saxon

 thanks

> ----- Original Message -----
> From: "Cams Ismael" <Ismael.Cams@xxxxxxxxxxxxxxx>
> To: "'Laura'" <xsl_list@xxxxxxxxxxx>
> Sent: Friday, January 17, 2003 12:57 PM
> Subject: RE: [xsl] calling extension java functions. ( Saxon Vs Xalan)
>
>
> Sorry I misread the xsl a little bit.
> Indeed you have to use the saxon namespace for extension functions of
Saxon.
>
> So probably there is a problem somewhere with the Java code.
>
> Did you place the class on the classpath ?
>
>
> -----Original Message-----
> From: Laura [mailto:xsl_list@xxxxxxxxxxx]
> Sent: vrijdag 17 januari 2003 13:30
> To: Cams Ismael
> Subject: Re: [xsl] calling extension java functions. ( Saxon Vs Xalan)
>
>
> Cams,
> But isnt the namespace prefix for that purpose??
> I need to declare the saxon namespace because I am using one of its
> extension elements as well.
>
> ----- Original Message -----
> From: "Cams Ismael" <Ismael.Cams@xxxxxxxxxxxxxxx>
> To: <xsl_list@xxxxxxxxxxx>
> Sent: Friday, January 17, 2003 11:47 AM
> Subject: FW: [xsl] calling extension java functions. ( Saxon Vs Xalan)
>
>
> The way I call extension functions in Saxon is:
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>     xmlns:str-utils="java:com.myutils.utils.StringUtils">
>
> <xsl:value-of select="str-utils:upperCase($mystring)"/>
>
> Somewhere in the documentation you can find:
>
> The SAXON namespace URI "http://icl.com/saxon"; is recognised as a special
> case, and causes the function to be loaded from the class
> com.icl.saxon.functions.Extensions. This class name can be specified
> explicitly if you prefer.
>
> So I think you shouldn't refer to the SAXON namespace. Probably it looks
in
> the Extensions class for this method, and of-course it doesn't exist in
this
> class.
>
> Hope this helps.
>
> Kind regards,
> Ismaël
>
> -----Original Message-----
> From: Laura [mailto:xsl_list@xxxxxxxxxxx]
> Sent: vrijdag 17 januari 2003 12:30
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] calling extension java functions. ( Saxon Vs Xalan)
>
>
> I have a java extension method that i call from my XSL
> the way i call is
> <xsl:value-of select="str-utils:upperCase($mystring)"/>
> it works fine with Xalan but fails with Saxon.
> saxon gives
>  Transform failed:  At xsl:value-of on line 264 of
> file:/tests/saxon-test.xsl: No method matching upperCase with 1 parameter
> found in class com.myutils.util.StringUtils
>
> the namespace declaration is:
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>                 xmlns:saxon="http://icl.com/saxon"; xmlns:str-utils =
> "com.myutils.utils.StringUtils"
>                 extension-element-prefixes="saxon str-utils"
version="1.0">
> It however doesnt give any error with the Xalan ( with a different
namespace
> declaration)
> Am i calling it correctly?? is there any difference in the way you call
> extension functions with xalan and saxon?
> Thanks
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread