Subject: RE: [xsl] String manipulation question From: Jarno.Elovirta@xxxxxxxxx Date: Fri, 19 Jul 2002 15:54:21 +0300 |
Hi, > My question is regarding some string manipulation. > I have template which looks at a string value of a date > (eg 02-03-02 param1) and a dateformat (eg. DD-MM-YY param2). > > My template has to (for e.g.): > return 02-03-02 > if param1= 2-3-02 > and param2= DD-MM-YY > > or > return 02/03/2002 > if param1= 02/3/02 > and param2= DD-MM-YYYY > > > I'm having difficulties in thinking of a short and neat way > of appending '0' > in front of any number between 1-9 (if its not already there). > [And appending a '20' for a year format (if its not already there)]. > Any help appreciated. It's friday, so... <xsl:template name="dateFormat"> <xsl:param name="str" /> <xsl:param name="date-format" /> <xsl:choose> <xsl:when test="contains($str, '-')"> <xsl:value-of select="concat(format-number(substring-before($str, '-'), substring(substring('2000', 4 - string-length(substring-before($date-format, '-'))), 1, string-length(substring-before($date-format, '-')))), '-')"/> <xsl:call-template name="dateFormat"> <xsl:with-param name="str" select="substring-after($str, '-')" /> <xsl:with-param name="date-format" select="substring-after($date-format, '-')" /> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="format-number($str, substring(substring('2000', 4 - string-length($date-format)), 1, string-length($date-format)))"/> </xsl:otherwise> </xsl:choose> </xsl:template> I'll also format YYYY-MM-DD. Cheers, Santtu XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] String manipulation quest, Jeni Tennison | Thread | RE: [xsl] String manipulation quest, Bodrul Haque |
RE: [xsl] strings and recursive tem, Andrew Welch | Date | Re: [xsl] String manipulation quest, Jeni Tennison |
Month |