This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: TOKENISER
- From: Jeni Tennison <jeni at jenitennison dot com>
- To: "Jinkx" <vsd18 at rediffmail dot com>
- Cc: xsl-list at lists dot mulberrytech dot com
- Date: Wed, 27 Feb 2002 14:22:07 +0000
- Subject: Re: [xsl] TOKENISER
- Organization: Jeni Tennison Consulting Ltd
- References: <20020227134540.11463.qmail@mailweb30.rediffmail.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Jinkx,
> i have a variable day defined as
> <xsl:variable name = "day" select="/date"/>
>
> which has a value Tuesday 26 February 2002
>
> can i separate each of them to get
>
> Tuesday
> 26
> February
> 2002
>
> using some kind of string functions in xsl..
There isn't a tokenising function built-in to XPath 1.0. You have
several options, though:
Since you know the format, you can pull out the strings one at a time:
<xsl:variable name="weekday" select="substring-before($day, ' ')" />
<xsl:variable name="monthday"
select="substring-before(substring-after($day, ' '), ' ')" />
<xsl:variable name="month"
select="substring-before(
substring-after(
substring-after($day, ' '), ' '), ' ')" />
<xsl:variable name="year"
select="substring-after(
substring-after(
substring-after($day, ' '), ' '), ' ')" />
Or you could write your own (or copy from e.g.
http://www.exslt.org/str/functions/tokenize/str.tokenize.template.xsl)
recursive function to split the string into tokens.
Or you could use an extension function, if your processor has one, to
do this. For example, Saxon has saxon:tokenize() and Xalan has
xalan:tokenize().
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list