In XPath 1.0 the operands of "<" are converted to numbers. If that fails,
you get NaN, and NaN compared with anything is false.
This changes in XPath 2.0: an improvement, though also, sadly, a source of
incompatibility.
The solution to your problem is to strip the hyphens using translate().
Michael Kay
-----Original Message-----
From: Peter Flynn [mailto:pflynn(_at_)ucc(_dot_)ie]
Sent: 08 September 2004 10:23
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] testing dates
If $isodate contains "2004-06-27" and a CDATA attribute
@start-date contains "2004-09-05", what should be the result of:
<xsl:if test="$isodate < foo/@start-date">
It always evaluates to False under Saxon 6.5.2 (ie if I
use > instead of < I get the same result: False).
Is there something about comparing strings containing digits
that I have
missed? Are they being evaluated as expressions
(eg 2004 minus 6 minus 27)?
///Peter
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--