Re: [xsl] xsl:function

Subject: Re: [xsl] xsl:function
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 12 Sep 2007 09:00:24 +0200
I just completed your code bit and changed the obvious xsl:result error into xsl:value-of. But that was not the error you got. I ran it, and it put out "2".

<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:my="http://whatever"; exclude-result-prefixes="my">
<xsl:function name="my:one">
<xsl:param name="a"/>
<xsl:param name="b"/>
<xsl:value-of select="$a+$b"/>
</xsl:function>
<xsl:template match="/">
<xsl:value-of select="my:one(1,1)"/>
</xsl:template>
</xsl:stylesheet>


What I think is that you accidentally ran an XSLT 2.0 stylesheet with an XSLT 1.0 processor (which should already complain about the xsl:function instruction, but perhaps first throws an error about the extension functions not being known. Saxon for instance says there's no known java function).

Cheers,
-- Abel Braaksma

Karanam.Chowdary@xxxxxxxxxxxxxxxxxx wrote:
The error is "Namespace http://whatever doesn't contain any functions"

-----Original Message-----
From: Abel Braaksma [mailto:abel.online@xxxxxxxxx] Sent: Wednesday, September 12, 2007 12:14 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] xsl:function


Karanam.Chowdary@xxxxxxxxxxxxxxxxxx wrote:
Hello,
I m very new to XSL and XML just strtd working 10 days back.
I hv a problem in using <xsl:function>. What's the name space to be
given? Shud I give a valid name space which contains the functions?


<?xml version='1.0' encoding='utf-8' ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema";
	xmlns:my="http://whatever"; exclude-result-prefixes="my">
<xsl:function name="my:one">
		<xsl:param name="a"/>
		<xsl:param name="b"/>
		<xsl:result select="$a+$b"/>
</xsl:function>
	
<xsl:template match="/">
<xsl:value-of select="my:one(1,1)"/>
.......
What is the mistake here? Am I missing sumthing?

Current Thread