xsl-list
[Top] [All Lists]

Re: Choose Test for Emtpy element

2003-03-14 11:16:25
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



<Prev in Thread] Current Thread [Next in Thread>