xsl-list
[Top] [All Lists]

Re: [xsl] Calculate Monthly Recuring dates

2007-01-30 09:00:29

(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

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>