Subject: Re: help with recursive function
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 6 May 2008 17:27:14 +0100
|
2008/5/6 Mario Madunic <hajduk@xxxxxxxx>:
> I'm having a problem with a recursive function in 2.0.
> [xslt] e:\XSLT\cleanUp.xsl:259: Fatal Error! A sequence of more than one item is
> not allowed as the first argument of concat()
> <xsl:value-of select="concat(f:f_UpperLowerCaseFix(.), if (not(position() =
Without looking too closely, first you should always declare the type
and cardinality of the function's return value, so change:
> <xsl:function name="f:f_UpperLowerCaseFix">
to <xsl:function name="f:f_UpperLowerCaseFix" as="xs:string">
(a single string)
> <xsl:param name="p_String" />
...you should also declare the type and cardinality of the param but
that's likely to be a side issue here.
So, with the function's return type declared as a single string, the
processor will throw an error as soon as the second item in the
sequence is added (before it ever gets to the concat function) - with
good xsl:message output or the help of a debugger you should be able
to determine where the problem is.
--
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/
|