Subject: Re: [xsl] help with recursive function From: Mario Madunic <hajduk@xxxxxxxx> Date: Tue, 6 May 2008 09:40:38 -0700 |
Thanks Andrew for that, the error message now tells me which line in the function is causing the problem. Still perplexed but now have a focus. Thanks Mario line in question now <xsl:value-of select="f:f_UpperLowerCaseFix($l_StringAfterDelimiter)" /> Quoting Andrew Welch <andrew.j.welch@xxxxxxxxx>: > 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/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] help with recursive funct, Andrew Welch | Thread | Re: [xsl] help with recursive funct, Andrew Welch |
Re: [xsl] function-available return, Manfred Staudinger | Date | Re: [xsl] help with recursive funct, Andrew Welch |
Month |