Subject: Re: Choose Test for Emtpy element
From: Mike Brown <mike@xxxxxxxx>
Date: Fri, 14 Mar 2003 11:16:25 -0700 (MST)
|
Karl Stubsjoen wrote:
> I am performing a CHOOSE | WHERE | OTHERWISE
when, not where :)
> ... the test for this choose is
> to see whether or not my @AvailableInventory is '' (empty). It doesn't seem
> to work, but indeed there is no real value in this attribute. I'm thinking
> it is padded with spaces. So how would I perform my test, but trim all the
> spaces... or is there another test for "Empty"?
> Here what I have so far:
>
> <xsl:when test="@availableInventory=''">
Use
<xsl:when test="normalize-space(@availableInventory)">
The normalize-space function will produce a string with leading and trailing
whitespace removed, and adjacent embedded whitespace collapsed to a single
space. A string will test false if it is completely empty (zero length).
You could also use string(@availableInventory) if you don't need to strip
whitespace.
You probably noticed that test="@availableInventory" was always true when
there was an availableInventory attribute; this is testing a node-set to see
if it has any nodes in it.
Mike
--
Mike J. Brown | http://skew.org/~mike/resume/
Denver, CO, USA | http://skew.org/xml/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|