Re: [xsl] How to test if existing tag/node contains a non-whitespace value?

Subject: Re: [xsl] How to test if existing tag/node contains a non-whitespace value?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 09 Dec 2009 16:45:19 -0500
Hi,

At 04:12 PM 12/9/2009, was heard:
test="string-length(normalize-space(<expression>)) > 0"

Since an empty string implicitly converts to a Boolean false, and any other string converts to a Boolean true, this is the same as saying


test="normalize-space(<expression>)"

(The only actual difference -- unless your processor happens to optimize it away -- is the extra computation required to measure the length of the string and compare the resulting number to another number.)

The inverse of this is straightforward:

test="not(normalize-space(<expression>))">

Note that in 2.0 all of these will return errors if <expression> returns more than one node. How best to defend against that possibility depends on the expression and use case.

Cheers,
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
======================================================================

Current Thread