[xsl] XPath string comparison of two strings representing calendar dates ... any counterexamples?

Subject: [xsl] XPath string comparison of two strings representing calendar dates ... any counterexamples?
From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 16 Aug 2017 16:09:07 -0000
Hi Folks,

I have an XML document that contains two elements with values representing
calendar dates, in YYYYMMDD format, e.g.,

<Test>
    <Date1>20170816</Date1>
    <Date2>20170817</Date2>
</Test>

This is the format that iCalendar (RFC 5545) uses to represent dates.

I wish to test to see if the calendar date represented in <Date2> is greater
than (occurs later in chronological time) the calendar date represented in
<Date1>. Here's an XPath expression to do the test:

/Test/Date2 gt /Test/Date1

In this case, the XPath returns true.

Note that I am doing mere string comparison. I am comparing the string
'20170817' against the string '20170816'.

Will the XPath always work?

Is there a counterexample, where <Date2> holds a value representing a calendar
date that is less than (occurs earlier in chronological time) the calendar
date represented in <Data1>, and yet the XPath returns true?

If there is a counterexample, what XPath expression will always work?

/Roger

Current Thread