This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Testing strings for null
- To: Paul Holman <pablos at xigo dot com>
- Subject: Re: [xsl] Testing strings for null
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Tue, 9 Jan 2001 09:34:20 +0000
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <1186213.978982856@[10.0.5.250]>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Paul,
> <xsl:when test="ASTRING $igt$ 0">
That syntax isn't XSLT syntax - it looks like you're using the old
MSXSL syntax. Have a look at
http://www.netcrucible.com/xslt/msxml-faq.html to find out about it.
The correct syntax for the test in XSLT is:
ASTRING > 0
This tests whether any of the ASTRING elements in your XML source have
a string value greater than 0. If you have an ASTRING element that
looks like:
<ASTRING>3</ASTRING>
then it'll return true. If none of the ASTRING elements have
numerical values, then it will return false.
> I just want to know if ASTRING is null, and I can't seem to figure
> out what to do. This test comes up False every time.
By finding out whether ASTRING is null, do you mean whether there are
any ASTRING elements or whether the value of the ASTRING element is an
empty string?
To test whether there are any ASTRING elements, use, simply:
ASTRING
This will return true if there are any ASTRING elements, false if
there are not.
To test whether there are any ASTRING elements that have a value that
is not the empty string, you can use:
ASTRING[string(.)]
This will return true if there are any ASTRING elements that have a
value, and false if there aren't.
If you've only got one ASTRING element child in the current context
and you want to test whether it has a value, you can use:
string(ASTRING)
This will return true if the ASTRING element has a value, false if it
doesn't.
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list