Subject: Re: [xsl] Calculate Monthly Recuring dates From: Adam Retter <adam.retter@xxxxxxxxxxxx> Date: Tue, 30 Jan 2007 16:10:22 +0000 |
Thanks David, that looks very useful :-) I am using EXSLT functions, for functions such as date:day-in-week() and date:week-in-month() as these are a simple way to calculate such values. > > (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 > -- Adam Retter Principal Developer Devon Portal Project Room 310 County Hall Topsham Road Exeter EX2 4QD t: 01392 38 3683 f: 01392 38 2966 e: adam.retter@xxxxxxxxxxxx w: www.devonline.gov.uk
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Calculate Monthly Recurin, David Carlisle | Thread | [xsl] Naming conventions for xsl/xs, Ben Stover |
Re: [xsl] EXSLT support for firefox, Manfred Staudinger | Date | [xsl] Naming conventions for xsl/xs, Ben Stover |
Month |