Re: [xsl] xpath - check for no content

Subject: Re: [xsl] xpath - check for no content
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 29 Jul 2002 11:57:09 -0400
At 2002-07-29 17:43 +0200, sascha wrote:
simple question i guess:
How do i check if the <run> element or one of it's childsren does not have
any content?
Meaning that there is no output text or so inbetween.

In your example below, you do have text in between ... you have text nodes comprised only of white-space characters.


example:
<run>
<font size="17pt" style="bold" name="Arial" color="red"/>
<break/>
</run>

I tried...

If the white-space *is* significant, just check the value of the current node:


<xsl:if test=". = ''">

If the white-space *isn't* significant, trim leading and trailing just in case the input was "lazily" empty:

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

Note this is a common problem where users *think* an element is empty, but they've inserted a new-line to make the indentation look nice, not realizing they no longer have an empty element.

I hope this helps.

.................. Ken


-- Upcoming hands-on in-depth 3-days XSLT/XPath and/or 2-days XSL-FO: - North America: Sep 30-Oct 4,2002 - Japan: Oct 7-Oct 11,2002

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (Fax:-0995)
ISBN 0-13-065196-6                       Definitive XSLT and XPath
ISBN 1-894049-08-X   Practical Transformation Using XSLT and XPath
ISBN 1-894049-07-1                Practical Formatting Using XSLFO
XSL/XML/DSSSL/SGML/OmniMark services, books (electronic, printed),
articles, training (instructor-live,Internet-live,web/CD,licensed)
Next public training:           2002-08-05,26,27,09-30,10-03,07,10


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



Current Thread