xsl-list
[Top] [All Lists]

Re.calling extension java functions. ( Saxon Vs Xalan)

2003-01-17 07:03:30
 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(_dot_)Cams(_at_)siemens(_dot_)atea(_dot_)be>
To: "'Laura'" <xsl_list(_at_)hotmail(_dot_)com>
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(_at_)hotmail(_dot_)com]
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(_dot_)Cams(_at_)siemens(_dot_)atea(_dot_)be>
To: <xsl_list(_at_)hotmail(_dot_)com>
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(_at_)hotmail(_dot_)com]
Sent: vrijdag 17 januari 2003 12:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>