Re: [xsl] Empty String

Subject: Re: [xsl] Empty String
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Tue, 23 Oct 2001 17:03:11 -0400

<xsl:template match="String">
  <!-- matches elements named 'String' -->
  <!-- processes the children of the element -
       - text, other elements, whatever -->
  <xsl:if test="not(string(.))">
    <!-- passes the test if the string content is empty -->
    <xsl:value-of select="'&#xA;'"/>
    <!-- adds a linefeed character -->

Other tests are possible, but this one is a good one. Note that this will test "true" if your String element contains other elements, but no text.

If you want to catch whitespace-only strings as well as zero-length strings, change the test to "not(normalize-space(.))". But note that such whitespace is also passed along by the apply-templates preceding the test.

I hope I construed correctly what you meant by "a String element that is empty".

This is actually a FAQ, but a hard one to document since the answer is always "it depends".

Hasta la vista,

At 04:04 PM 10/23/01, you wrote:
How do i say this using xsl: "xsl, if you find a String element that is empty, please add a text element that contains a paragraph return." I am having trouble matching the empty string.

Thanks Muchos,

Greg Martel
Coordinator of Enchiladas

Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      
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:

Current Thread