RE: [xsl] expression syntax

Subject: RE: [xsl] expression syntax
From: George James <GeorgeJ@xxxxxxxxxxxxxxx>
Date: Sun, 14 Nov 2004 11:10:32 -0000
Alan
You could use the translate function to strip out the hyphens and make the
dates into integers that can then be compared numerically.

  <xsl:variable name="iToday" select='translate($today,"-","")'/>
  <xsl:for-each select='performance[translate(@date,"-","") &gt;=
$iToday]'/>

But note that this is not appropriate for dates earlier than 1CE (because
these are represented as -yyyy-mm-dd).

Xpath 2.0 appears to be introduce the capability to cast a string as a date
and operator mapping so that you can perform a comparison between two dates
directly.

Regards
George

George James Software
Cachi Tools, Training, Technology
www.georgejames.com
+44-1932-252568



> -----Original Message-----
> From: Alan Divorty [mailto:alan.divorty@xxxxxxxxxxxxxx]
> Sent: 14 November 2004 10:14
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] expression syntax
>
>
> I am trying to compare two dates, one in the xml data against
> an external parameter holding today's date.
>
> The format of each is yyyy-mm-dd
>
> <xsl:for-each select="performance[date = $today]">
>
> successfully processes records with today's date.  However, I
> want to select all records equal to or later than today, but
>
> <xsl:for-each select="performance[date &gt;= $today]">  does
> not select any records.
>
> Is my syntax wrong?
>
> I'm using IE6 to process the files.
>
> Thanks,
> Alan

Current Thread