Subject: Re : XSL2 string result from XSL1 template
From: Florent Georges <lists@xxxxxxxxxxxx>
Date: Tue, 14 Apr 2009 11:47:34 +0000 (GMT)
|
Trevor Nicholls wrote:
> <xsl:variable name="fulltarget"
> as="xs:string">
> <xsl:call-template name="encode-url">
> <xsl:with-param name="str"
> select="concat($urlprefix,'docs/',$book,'/',$subf,'#',$jid)"
> />
> </xsl:call-template>
> </xsl:variable>
> The error is XTTE0570: A sequence of more than one item is
> not allowed as the value of variable $fulltarget
The template returns a sequence of text nodes. You can concatenate all of
them by using:
<xsl:value-of separator="">
<xsl:call-template ...
...
</xsl:value-of>
That will produce a single text node, which in turn will be cast to a
string. Or you can use an intermediate variable an use string-join().
Regards,
--
Florent Georges
http://www.fgeorges.org/
|