I have a date element:
example
<DATE>11/01/2006</DATE>
I'm trying to write an XPath 2.0 Regex to winnow some of the more obvious date
format errors. I have tried for about a half-hour, and I admit to being stumped.
Here is the relevant part of the template:
<xsl:when test="matches(DATE,'[0-1][0-2]/[0-3][0-9]/2006')"><bad-date
/></xsl:when>
These dates passed the test:
<DATE>07/18/2006</DATE>
<DATE>07/12/2006</DATE>
<DATE>09/25/2006</DATE>
While these failed:
<DATE>10/24/2006</DATE>
<DATE>10/18/2006</DATE>
<DATE>10/10/2006</DATE>
<DATE>10/02/2006</DATE>
<DATE>01/19/2006</DATE>
It appears any value with a "1" in either the first or second position is
failing.
What I am trying to achieve is:
First character is either a "0" or "1"
Second character is in the range of 0-2
Third character is "/"
Fourth character is in the range of 0-3
Fifth character is in the range of 0-9
Sixth character is "/"
Text ends with the string "2006".
Can someone point out where I'm going wrong?
Thanks.
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
--~------------------------------------------------------------------
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>
--~--