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