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

Subject: RE: Re.[xsl] calling extension java functions. ( Saxon Vs Xalan)
From: "Henk J Meulekamp" <henkmeulekamp@xxxxxxxxx>
Date: Fri, 17 Jan 2003 15:28:02 +0100
Probally a faq:
http://www.dpawson.co.uk/xsl/sect2/N8321.html#d7888e177
14.  Preserving whitespace in output
 
 David Carlisle & Mike Kay.

(In the stylesheet) By default white space text nodes are removed from
the stylesheet. Put your white space in xsl:text elements.

(In the source XML) Try xml:space="preserve", e.g. on the xsl:for-each
statement.
 

And:

4.  How do I preserve whitespace in the output
 
 Keith Visco

add the following to your top level children of 
your xsl:stylesheet element:
<xsl:preserve-space elements="text"/>

Regards
henkmeulekamp

| -----Original Message-----
| From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
| [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Laura
| Sent: vrijdag 17 januari 2003 15:04
| To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
| Subject: Re.[xsl] calling extension java functions. ( Saxon Vs Xalan)
| 
| 
|  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
| 
| 



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


Current Thread