This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: calling java functions from xslt


hi
if u have a class called Helloworld.class that has a method called hello()
then you wud do the following steps.
1. Set the classpath( of Helloworld.class) so that the xalan processor or any other processor knows about it.
2. declare the namespace..
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:myprefix = "Helloworld" extension-element-prefixes ="myprefix">
(u can keep any name ( check the docs for valid names) for the prefix )
u would refer to the java methods with this prefix.

3. Refer to the method hello() that returns some string.
3.1. If hello() takes no arguments
<xsl:value-of select="myprefix:hello()"/>
3.2. If hello() takes arguments like String name
<xsl:variable name = "arg" select = "'myname'"/>
<xsl:value-of select="myprefix:hello($arg)"/>

HTH
Vasu


From: "Andrew Welch" <awelch@piper-group.com>
Reply-To: xsl-list@lists.mulberrytech.com
To: "Xsl-List (E-mail)" <xsl-list@lists.mulberrytech.com>
Subject: [xsl] calling java functions from xslt
Date: Mon, 10 Jun 2002 14:20:07 +0100


Hi all,

I am messing around trying to improve my knowledge of how java and
xml/xslt can work together.  What I would like to do is call a function
from the stylesheet which returns a string.  So, to guide me in the
right direction:

If I have C:\Java_Projects\Helloworld.class, with a function called
hello() that returns the string "hello world", how do I access that
function from my stylesheet?

Im currently using:

<?xml version='1.0'?>
<xsl:stylesheet
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
	xmlns:java="C://Java_Projects/Helloworld"
	exclude-result-prefixes="java"
	version='1.0'>

<xsl:template match="/">
  <xsl:variable name="theString" select="java:Helloworld.hello()"/>
  <xsl:value-of select="$theString"/>
</xsl:template>

</xsl:stylesheet>

Ive tried this unsuccessfully so far using Xselerator with Msxml4 and
Instant Saxon.  MSXML4 tells me there aren't any functions at that
namespace.

I have tried all the variations I can think of, such as
file:///C:\Java_Projects\Helloworld but to no avail.

Any info / guidance in this area is greatly appreciated

cheers
andrew


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.350 / Virus Database: 196 - Release Date: 17/04/2002


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




_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]