Re: [xsl] Only copy nodes that have text at some point in the tree

Subject: Re: [xsl] Only copy nodes that have text at some point in the tree
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 28 Sep 2001 18:59:36 -0400
At 06:17 PM 9/28/01, Tom wrote:
Doesn't xsl:value-of look for the first text content all the way down the
whole branch?  If so, you could test like this:

<xsl:variable name='is-there-any-text'>
    <xsl:value-of select='.'>
</xsl:variable>

<xsl:if test='$is-there-any-text !=""'>....</xsl:if>

Or:


<xsl:if test="string(.)">....</xsl:if>

:->

Unfortunately, unless Matt has stripped whitespace, there may be some whitespace around to throw this off. So:

<xsl:if test="normalize-space(.)">....</xsl:if>

(But to avoid copying the empty nodes, Matt's going to have to traverse step-by-step only copying the ones that have non-empty string values ... no copy-of. Time for modes!)

Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread