[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Date Formating

Subject: Re: Date Formating
From: "Perry Molendijk" <perry@xxxxxxxxxxxxxx>
Date: Sun, 12 Jan 2003 23:27:11 +0800
xsl date formating
I have used this on numerous occassions, perhaps not the most elegant
solution but it works:

create a file (calendar.xml) with xml that looks something like this:

<calendar>
 <days-in-week>
  <day number="1" short="Sun" long="Sunday"/>
  <day number="2" short="Mon" long="Monday"/>
  <day number="3" short="Tue" long="Tuesday"/>
  <day number="4" short="Wed" long="Wednesday"/>
  <day number="5" short="Thu" long="Thursday"/>
  <day number="6" short="Fri" long="Friday"/>
  <day number="7" short="Sat" long="Saturday"/>
 </days-in-week>
 <months-of-year>
  <month number="01" short="Jan" long="January"/>
  <month number="02" short="Feb" long="February"/>
  <month number="03" short="Mar" long="March"/>
  <month number="04" short="Apr" long="April"/>
  <month number="05" short="May" long="May"/>
  <month number="06" short="Jun" long="June"/>
  <month number="07" short="Jul" long="July"/>
  <month number="08" short="Aug" long="August"/>
  <month number="09" short="Sep" long="September"/>
  <month number="10" short="Oct" long="October"/>
  <month number="11" short="Nov" long="November"/>
  <month number="12" short="Dec" long="December"/>
 </months-of-year>
</calendar>

in your XSL at create a parameter that holds this document:

<xsl:param name="calendarReference" select="document('calendar.xml')"/>

<xsl:template match="date-created">
 <xsl:call-template name="date-writer">
  <xsl:with-param name="thisDate" select="."/>
 </xsl:template>
</xsl:template>

and a named template like this:

<xsl:template match="date-writer">
 <xsl:param name="thisDate"/>
 <xsl:variable name="day" select="substring($thisDate,9,2)"/>
 <xsl:variable name="month"
select="normalize-space(substring($thisDate,6,2))"/>
 <xsl:variable name="year" select="substring($thisDate,1,4)"/>
 <xsl:value-of select="$day"/>
 <xsl:text> </xsl:text>
 <xsl:value-of
select="$calendarReference/calendar/months-of-year/month[@number=$month]/@sh
ort"/>
 <xsl:text>, </xsl:text>
 <xsl:value-of select="$year"/>
</xsl:template>

off course this template only works with YYYY-MM-DD format but it is easily
adapted to any other format. Its biggest down fall is when you need the name
of the day.

EXSLT has a lot of date-time functions you could use. (www.exslt.org)

Perry Molendijk




----- Original Message -----
From: "Arthur" <ArthurMaloney@xxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, December 12, 2003 9:09 PM
Subject:  Date Formating


> Hello xsl-list,
>
>   I'm transforming an xml file that gives me a nicely formatted report
>   (html 80 odd pages).
>   Part of the transform uses format-number() for decimal places etc.
>
>   one of the elements in the xml, is a date
>   <date-created>2003-01-12</date-created>
>
>   How do you transform this to 12-Jan-03 ?
>
>
> --
> Best regards,
>  Arthur                          mailto:ArthurMaloney@xxxxxxxxxx
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>

----- Original Message -----
From: "Arthur" <ArthurMaloney@xxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, December 12, 2003 9:09 PM
Subject:  Date Formating


> Hello xsl-list,
>
>   I'm transforming an xml file that gives me a nicely formatted report
>   (html 80 odd pages).
>   Part of the transform uses format-number() for decimal places etc.
>
>   one of the elements in the xml, is a date
>   <date-created>2003-01-12</date-created>
>
>   How do you transform this to 12-Jan-03 ?
>
>
> --
> Best regards,
>  Arthur                          mailto:ArthurMaloney@xxxxxxxxxx
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.