Re: [xsl] Calculate Monthly Recuring dates

Subject: Re: [xsl] Calculate Monthly Recuring dates
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 30 Jan 2007 15:58:52 GMT
> (BTW - my XSLT Processor is Saxon 8 and I am already making use of EXSLT
> for other date related operations).

why use EXSLT which are date extensions for XSLT1, when saxon8 has the
XPath2 date functions already?

This for example returns the first saturday of the current month.

$ saxon8 -it main saturday.xsl 
<?xml version="1.0" encoding="UTF-8"?>
today:  2007-01-30Z
1st of month   2007-01-01Z
1st day month   Monday
1st saturday of month : 2007-01-06Z


<xsl:stylesheet version="2.0" 
		xmlns:xs="http://www.w3.org/2001/XMLSchema";
		xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  

<xsl:template name="main">
today:  <xsl:value-of  select="current-date()"/>
<xsl:variable name="today" select="current-date()"/>
<xsl:variable name="fom" 
  select="current-date()- xs:dayTimeDuration(concat('P',day-from-date(current-date())-1,'DT0S'))"/>
1st of month   <xsl:value-of  select="$fom"/>
1st day month   <xsl:value-of  select="format-date($fom,'[F]')"/>
1st saturday of month : <xsl:value-of select="(for $d in  0 to 6
  return
   $fom + xs:dayTimeDuration(concat('P',$d,'DT0S')))[format-date(.,'[F]')='Saturday']
  "/>
</xsl:template>
</xsl:stylesheet>


David

Current Thread