This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: TOKENISER


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]