Re: [xsl] Returning a sequence of text nodes from xsl:apply-templates

Subject: Re: [xsl] Returning a sequence of text nodes from xsl:apply-templates
From: Andrew Welch <andrew.j.welch@xxxxxxxxx>
Date: Tue, 26 Jul 2011 14:47:36 +0100
On 26 July 2011 14:35, Clint Redwood <clint@xxxxxxxxxxxxxxx> wrote:
> Hi! I may be fundamentally failing to understand how this works, but I've
been trying to obtain a sequence result from xsl:apply-templates, where I am
looking for each text result to be a member of the final sequence. There are
no nodes or tags in the results.
>
> I have
>
> <xsl:variable name="resultVar" as="item() *">
>  <xsl:apply-templates select="$nodeList" />
> </xsl:variable>
>
> As I have said, my expectation was that I would get a sequence, one entry
per node in $nodeList.
>
> However when I use
>
> <xsl:value-of select="$resultVar" separator="$separatorVar" />
>
> I get only a single output of all the concatenated results, without a
separator.
>
> I'm using Saxon b 9.1 and xsl 2.0.
>
> Any suggestions as to where my understanding has failed would be
appreciated.

Trying this out locally, it seems like it's an adjacent text node
merging issue.... if you change the $resultVar type from item()* to
xs:string* then you get the output you are after.



--
Andrew Welch
http://andrewjwelch.com

Current Thread