Re: [xsl] Flatten a node set into a single string

Subject: Re: [xsl] Flatten a node set into a single string
From: "Rick Quatro rick@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 7 Dec 2018 14:35:24 -0000
Thank you, Martin. That makes sense.

-----Original Message-----
From: Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, December 07, 2018 9:23 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Flatten a node set into a single string

On 07.12.2018 15:16, Rick Quatro rick@xxxxxxxxxxxxxx wrote:

> <title><?FM MARKER [Cross-Ref] _bookmark3120?> 1914<?FM MARKER
> [Cross-Ref] _bookmark3121?>
>   -1918 <?FM MARKER [Cross-Ref] _bookmark3123?>
> - World W<?FM MARKER [Cross-Ref] _bookmark3122?> ar One</title>
>
> When I get this using xpath
>
> title/text()
>
> I get a sequence of text nodes. What I really want is a single string:
>
> 1914-1918 - World War One
>
> Do I need to loop through the text nodes and build up a single string?
> I am using XSLT 2.0.


Well, simply select the
   title
element. Its string value then is the concatenation of its text node
descendants. So
   <xsl:value-of select="title"/>
will do. Or in pure XPath
   string(title)

Current Thread