Re: [xsl] Determine if an element with descents has complete empty text content

Subject: Re: [xsl] Determine if an element with descents has complete empty text content
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 2 Oct 2016 16:12:17 -0000
> On 2 Oct 2016, at 13:16, Eliot Kimber ekimber@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> I've inherited some code that has this type of check to determine if an
> element with arbitrary possible subelements has completely empty text
> content:
>
> normalize-space(string-join($context//text(), '')) != ''
>
> In XSLT 2 I'm pretty sure there's a simpler and/or more efficient way to
> do this.
>
>
> Is there a better way to do this and if so, what is it?
>

If there's any possibility that $context has a large number of descendant text
nodes or that their content is large, then it's going to be best to avoid
forming the string concatenation of those text nodes, which you can achieve
with

exists($context//text()[normalize-space()])

Michael Kay
Saxonica

Current Thread